12013-10-12 Anders Carlsson <andersca@apple.com> 2 3 Change callOnMainThread to take an std::function 4 https://bugs.webkit.org/show_bug.cgi?id=122698 5 6 Reviewed by Darin Adler. 7 8 This will let us pass anything that can be converted to an std::function (including lambdas and 9 WTF::Function objects) to callOnMainThread. 10 11 * wtf/MainThread.cpp: 12 (WTF::callOnMainThread): 13 * wtf/MainThread.h: 14 152013-09-06 Jessica Pease <jessica_n_pease@apple.com> 16 17 Replace bounds checking ASSERTs with ASSERT_WITH_SECURITY_IMPLICATION 18 https://bugs.webkit.org/show_bug.cgi?id=120893 19 20 Reviewed by Darin Adler. 21 22 * wtf/BumpPointerAllocator.h: 23 (WTF::BumpPointerPool::ensureCapacity): 24 (WTF::BumpPointerPool::alloc): 25 (WTF::BumpPointerPool::ensureCapacityCrossPool): 26 * wtf/FastMalloc.cpp: 27 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 28 * wtf/StringPrintStream.cpp: 29 (WTF::StringPrintStream::increaseSize): 30 * wtf/dtoa/utils.h: 31 (WTF::double_conversion::BufferReference::SubBufferReference): 32 * wtf/text/WTFString.cpp: 33 (WTF::String::fromUTF8): 34 352013-10-11 Darin Adler <darin@apple.com> 36 37 Change most call sites to call ICU directly instead of through WTF::Unicode 38 https://bugs.webkit.org/show_bug.cgi?id=122635 39 40 Reviewed by Alexey Proskuryakov. 41 42 * wtf/text/StringHash.h: 43 (WTF::CaseFoldingHash::foldCase): Use u_foldCase instead of WTF::Unicode::foldCase. 44 (WTF::CaseFoldingHash::hash): Added an overload for a StringImpl& because why not. 45 46 * wtf/text/StringImpl.cpp: 47 (WTF::StringImpl::lower): Use u_tolower rather than WTF::Unicode::toLower. Also added 48 an assertion to check that the lowercase version is also part of Latin-1. If this 49 is not guaranteed it would be good to know in a debug build at least. Use u_strToLower 50 rather than WTF::Unicode::toLower. Also removed #if USE(ICU_UNICODE) around the 51 locale-specific version. 52 (WTF::StringImpl::upper): Use u_toupper and u_strToUpper, as above. 53 (WTF::StringImpl::foldCase): Use u_tolower and u_strFoldCase, as above. 54 (WTF::equalIgnoringCase): Use u_foldCase instead of WTF::Unicode::foldCase. 55 (WTF::StringImpl::defaultWritingDirection): Use u_charDirection and UCharDirection 56 instead of WTF::Unicode::direction and WTF::Unicode::Direction. 57 58 * wtf/text/StringImpl.h: 59 (WTF::equalIgnoringCase): Use u_memcasecmp instead of WTF::Unicode::umemcasecmp. 60 (WTF::isSpaceOrNewline): Use u_charDirection instead of WTF::Unicode::direction. 61 62 * wtf/text/WTFString.h: 63 (WTF::String::defaultWritingDirection): Use UCharDirection instead of WTF::Unicode::Direction. 64 65 * wtf/unicode/icu/UnicodeIcu.h: Removed almost everything. 66 67 * wtf/unicode/wchar/UnicodeWchar.cpp: Tried to do the right thing in this file, but 68 I did not actually compile it. Also, the implementations here aren't really sufficient 69 to make WebKit work broadly. There are many things that just aren't working with this 70 implementation, such as parsing that uses u_charType to figure out which characters are valid. 71 (unorm_normalize): Added. 72 (u_charDirection): Added. 73 (u_charMirror): Added. 74 (u_charType): Added. 75 (u_getCombiningClass): Added. 76 (u_getIntPropertyValue): Added. 77 (u_memcasecmp): Added. 78 (convertWithFunction): Changed to work with ICU-style status code instead of error bool. 79 (u_strFoldCase): Added. 80 (u_strToLower): Added. 81 (u_strToUpper): Added. 82 * wtf/unicode/wchar/UnicodeWchar.h: Ditto. Later this file should just be named like the 83 real ICU headers so the code can include it the same way it would ICU. But that will be 84 in a future patch. 85 862013-10-11 Anders Carlsson <andersca@apple.com> 87 88 Remove gesture event support from WebCore 89 https://bugs.webkit.org/show_bug.cgi?id=122650 90 91 Reviewed by Ryosuke Niwa. 92 93 * wtf/FeatureDefines.h: 94 * wtf/nix/FeatureDefinesNix.h: 95 962013-10-09 Filip Pizlo <fpizlo@apple.com> 97 98 FTL: Soft-link LLVM as a workaround for LLVM's static initializers and exit-time destructors 99 https://bugs.webkit.org/show_bug.cgi?id=122566 100 101 Reviewed by Mark Rowe. 102 103 Remove all LLVM stuff from WTF since to get LLVM you need to soft-link and it's 104 entirely the responsibility of JSC to do that. 105 106 Also fixed an export goof that I found after fixing the weak thingy script in JSC. 107 108 * WTF.xcodeproj/project.pbxproj: 109 * wtf/LLVMHeaders.h: Removed. 110 * wtf/text/CString.h: 111 (WTF::CStringHash::hash): 112 1132013-10-10 Mark Rowe <mrowe@apple.com> 114 115 <rdar://problem/13341666> WebKit should always build against an SDK. 116 117 Have all projects default to building against the OS X Internal SDK for the Production 118 configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig 119 to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK. 120 121 Reviewed by Dan Bernstein. 122 123 * Configurations/Base.xcconfig: 124 * Configurations/DebugRelease.xcconfig: 125 1262013-10-10 Hans Muller <hmuller@adobe.com> 127 128 [CSS Shapes] clampToUnsigned() should return unsigned, not int 129 https://bugs.webkit.org/show_bug.cgi?id=122601 130 131 Corrected the return type for clampToUnsigned() in MathExtras.h. It's now unsigned. 132 133 Reviewed by Andreas Kling. 134 135 * wtf/MathExtras.h: 136 (clampToUnsigned): 137 1382013-10-08 Filip Pizlo <fpizlo@apple.com> 139 140 FTL should be able to do simple OSR exits using llvm.webkit.stackmap 141 https://bugs.webkit.org/show_bug.cgi?id=122538 142 143 Reviewed by Oliver Hunt. 144 145 * wtf/PrintStream.cpp: 146 (WTF::printInternal): 147 * wtf/PrintStream.h: 148 * wtf/RefCountedArray.h: 149 (WTF::RefCountedArray::byteSize): 150 1512013-10-09 Michael Saboff <msaboff@apple.com> 152 153 Change to std::unique_ptr breaks wtf/DataLog.cpp when DATA_LOG_TO_FILE set to 1 154 https://bugs.webkit.org/show_bug.cgi?id=122557 155 156 Reviewed by Filip Pizlo. 157 158 Changed the leakPtr() to release(). 159 160 * wtf/DataLog.cpp: 161 (WTF::initializeLogFileOnce): 162 1632013-10-08 Tim Horton <timothy_horton@apple.com> 164 165 Turn threaded scrolling on for all Mac ports. 166 Rubber-stamped by Simon Fraser and Sam Weinig. 167 168 * wtf/FeatureDefines.h: 169 1702013-10-06 Darin Adler <darin@apple.com> 171 172 Improve HashMap::add comment and other similar comments 173 https://bugs.webkit.org/show_bug.cgi?id=122432 174 175 Reviewed by Andreas Kling. 176 177 * wtf/HashCountedSet.h: 178 * wtf/HashMap.h: 179 * wtf/HashSet.h: 180 Updated comment wording. They were a bit old and out of date. 181 They also featured the word "interator". 182 1832013-10-07 Darin Adler <darin@apple.com> 184 185 Make Vector::insert work for move-only types 186 https://bugs.webkit.org/show_bug.cgi?id=122429 187 188 Reviewed by Anders Carlsson. 189 190 * wtf/Vector.h: 191 (WTF::Vector::insert): Take an rvalue reference instead of a const reference. 192 (WTF::Vector::insertVector): Renamed to avoid overloading troubles, analogous 193 to what we did for appendVector. 194 1952013-10-07 Anders Carlsson <andersca@apple.com> 196 197 Fix Windows build. 198 199 * wtf/StdLibExtras.h: 200 (std::make_unique): 201 2022013-10-07 Roger Fong <roger_fong@apple.com> 203 204 Modify WTF makefile for x64 build. 205 https://bugs.webkit.org/show_bug.cgi?id=122467. 206 <rdar://problem/15169174>. 207 208 Reviewed by Brent Fulgham. 209 210 * WTF.vcxproj/WTF.make: 211 2122013-10-07 Anders Carlsson <andersca@apple.com> 213 214 Remove passIn and passOut from HashTraits 215 https://bugs.webkit.org/show_bug.cgi?id=122452 216 217 Reviewed by Sam Weinig. 218 219 Change RefPtrHashMap to not use passOut (just like the regular HashMap) and get rid of the 220 passIn and passOut functions and related typedefs. 221 222 * wtf/HashTraits.h: 223 * wtf/RefPtrHashMap.h: 224 2252013-10-06 Anders Carlsson <andersca@apple.com> 226 227 Add OVERRIDE and virtual where appropriate 228 https://bugs.webkit.org/show_bug.cgi?id=122439 229 230 Reviewed by Antti Koivisto. 231 232 * wtf/Compiler.h: 233 * wtf/FilePrintStream.h: 234 * wtf/StringPrintStream.h: 235 2362013-10-06 Andreas Kling <akling@apple.com> 237 238 Range constructors should take a Document&. 239 <https://webkit.org/b/122435> 240 241 Reviewed by Sam Weinig. 242 243 Give Ref an assignment operator. 244 2452013-10-05 Anders Carlsson <andersca@apple.com> 246 247 Clean up MessageQueue.h 248 https://bugs.webkit.org/show_bug.cgi?id=122392 249 250 Reviewed by Andreas Kling. 251 252 Make MessageQueue use std::unique_ptr and change findIf and removeIf to take const references. 253 254 * wtf/Deque.h: 255 Change findIf to take an rvalue reference. 256 257 * wtf/MessageQueue.h: 258 (WTF::::append): 259 (WTF::::appendAndKill): 260 (WTF::::appendAndCheckEmpty): 261 (WTF::::prepend): 262 (WTF::::removeIf): 263 2642013-10-05 Anders Carlsson <andersca@apple.com> 265 266 Try to #define final to sealed when building with MSVC 267 https://bugs.webkit.org/show_bug.cgi?id=122386 268 269 Reviewed by Darin Adler. 270 271 * wtf/Compiler.h: 272 2732013-10-05 Anders Carlsson <andersca@apple.com> 274 275 Remove createOwned 276 https://bugs.webkit.org/show_bug.cgi?id=122388 277 278 Reviewed by Darin Adler. 279 280 Since we're going with std::unique_ptr instead of OwnPtr, there's no need for makeOwned to exist. 281 Get rid of it and replace it with calls to std::make_unique. 282 283 * wtf/FilePrintStream.cpp: 284 (WTF::FilePrintStream::open): 285 * wtf/FilePrintStream.h: 286 * wtf/HashTable.h: 287 (WTF::::HashTable): 288 * wtf/ListHashSet.h: 289 (WTF::::ListHashSet): 290 * wtf/OwnPtr.h: 291 * wtf/Threading.cpp: 292 (WTF::compatEntryPoint): 293 (WTF::createThread): 294 * wtf/ThreadingPthreads.cpp: 295 (WTF::wtfThreadEntryPoint): 296 (WTF::createThreadInternal): 297 * wtf/unicode/Collator.h: 298 * wtf/unicode/CollatorDefault.cpp: 299 (WTF::Collator::userDefault): 300 * wtf/unicode/icu/CollatorICU.cpp: 301 (WTF::Collator::userDefault): 302 3032013-10-05 Darin Adler <darin@apple.com> 304 305 Remove COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES) since it's required now 306 https://bugs.webkit.org/show_bug.cgi?id=122387 307 308 Reviewed by Anders Carlsson. 309 310 * wtf/RefPtr.h: 311 * wtf/RetainPtr.h: 312 * wtf/Vector.h: 313 * wtf/text/AtomicString.h: 314 * wtf/text/WTFString.h: 315 Take out conditionals. 316 3172013-10-05 Darin Adler <darin@apple.com> 318 319 Add AtomicString::number and use it 320 https://bugs.webkit.org/show_bug.cgi?id=122384 321 322 Reviewed by Anders Carlsson. 323 324 * wtf/text/AtomicString.cpp: 325 (WTF::AtomicString::number): Added. 326 * wtf/text/AtomicString.h: Ditto. 327 328 * wtf/text/IntegerToStringConversion.h: Simplify includes, renamed ConversionTrait to 329 IntegerToStringConversionTrait. Changed String version to use String since we no longer 330 need to use PassRefPtr to efficiently handle return values. Replaced UnsignedIntegerTrait 331 with std::make_unsigned. Added AtomicString support. Use nullptr instead of 0. 332 3332013-10-05 Darin Adler <darin@apple.com> 334 335 Cut down on use of String::number 336 https://bugs.webkit.org/show_bug.cgi?id=122382 337 338 Reviewed by Anders Carlsson. 339 340 * wtf/DateMath.cpp: 341 (WTF::appendTwoDigitNumber): Added. Replaces twoDigitStringFromNumber, which returned a 342 String and also allocated a temporary string for any number 10 or higher. 343 (WTF::makeRFC2822DateString): Updated to use the new function. 344 3452013-10-05 Anders Carlsson <andersca@apple.com> 346 347 Test the waters and begin using lambdas 348 https://bugs.webkit.org/show_bug.cgi?id=121809 349 350 Reviewed by Andreas Kling. 351 352 * wtf/ListDump.h: 353 (WTF::sortedListDump): 354 Use std::less instead of a custom lessThan function. 355 3562013-10-04 Darin Adler <darin@apple.com> 357 358 text-transform: lowercase is not lang-dependent (Turkish languages : tr,az) 359 https://bugs.webkit.org/show_bug.cgi?id=21312 360 361 Reviewed by Ryosuke Niwa. 362 363 * wtf/text/StringImpl.cpp: 364 (WTF::StringImpl::upper): Removed an extra call that would unnecessarily reallocate 365 a StringImpl in the general non-ASCII case. Added an overload that takes a locale identifier. 366 (WTF::StringImpl::lower): Ditto. 367 * wtf/text/StringImpl.h: Ditto. 368 * wtf/text/WTFString.cpp: 369 (WTF::String::lower): Ditto. 370 (WTF::String::upper): Ditto. 371 * wtf/text/WTFString.h: Ditto. Also deleted the makeLower and makeUpper functions since they 372 offer no advantages over the lower and upper functions. Also added a constructor that takes 373 a RefPtr<StringImpl> with move construction to help. 374 3752013-10-04 Brent Fulgham <bfulgham@apple.com> 376 377 Remove Qt definitions from Platform.h 378 https://bugs.webkit.org/show_bug.cgi?id=122349 379 380 Reviewed by Anders Carlsson. 381 382 * wtf/Platform.h: Remove unused PLATFORM(QT) stanzas from file. 383 3842013-10-04 Brent Fulgham <bfulgham@apple.com> 385 386 [Win] Turn off FastMalloc on Windows 387 https://bugs.webkit.org/show_bug.cgi?id=122352 388 389 Reviewed by Darin Adler. 390 391 * wtf/Platform.h: Enable USE_SYSTEM_MALLOC when building on 392 Windows to stick to the MSVCRT allocator/deallocator. 393 3942013-10-04 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 395 396 Remove WTF smart pointers 'const_pointer_cast' 397 https://bugs.webkit.org/show_bug.cgi?id=122325 398 399 Reviewed by Darin Adler. 400 401 Removed WTF smart pointers 'const_pointer_cast' functions as: 402 - they were not used 403 - their implementation was wrong as they tried to cast to a different pointer type 404 405 * wtf/PassOwnPtr.h: 406 * wtf/PassRefPtr.h: 407 * wtf/RefPtr.h: 408 4092013-10-04 Oliver Hunt <oliver@apple.com> 410 411 Support for-of syntax 412 https://bugs.webkit.org/show_bug.cgi?id=122339 413 414 Reviewed by Geoffrey Garen. 415 416 Update assertions and add a helper function to StringImpl 417 to save repeated unique or identifier calls. 418 419 * wtf/text/StringImpl.h: 420 (WTF::StringImpl::isIdentifierOrUnique): 421 (WTF::StringImpl::setIsIdentifier): 422 (WTF::StringImpl::setIsAtomic): 423 4242013-10-02 Brent Fulgham <bfulgham@apple.com> 425 426 [Win] Update solutions and projects to support 64-bit build. 427 https://bugs.webkit.org/show_bug.cgi?id=122225 428 429 Reviewed by Anders Carlsson. 430 431 * WTF.vcxproj/WTF.submit.sln: Add x64 architecture targets. 432 * WTF.vcxproj/WTF.vcxproj: Correct path to config.h file. 433 * WTF.vcxproj/WTF.vcxproj.filters: Correct path to config.h file. 434 435 4362013-10-02 Nadav Rotem <nrotem@apple.com> 437 438 Eliminate a branch in FastBitVector setAndCheck, make it vectorizable. 439 https://bugs.webkit.org/show_bug.cgi?id=122229 440 441 Reviewed by Geoffrey Garen. 442 443 The CPU is unlikely to predict the branch in setAndCheck. I changed the code to use conditional instructions. 444 445 * wtf/FastBitVector.h: 446 (WTF::FastBitVector::setAndCheck): 447 4482013-10-02 Anders Carlsson <andersca@apple.com> 449 450 Remove Qt code from WTF 451 https://bugs.webkit.org/show_bug.cgi?id=122221 452 453 Reviewed by Antti Koivisto. 454 455 I'm keeping the PLATFORM(QT) defines in Platform.h for now so we can assess if there are any 456 Qt only features that we can remove later. 457 458 * WTF.pri: Removed. 459 * WTF.pro: Removed. 460 * wtf/Assertions.cpp: 461 * wtf/CurrentTime.cpp: 462 * wtf/DisallowCType.h: 463 * wtf/FastMalloc.cpp: 464 * wtf/FeatureDefines.h: 465 * wtf/qt/MainThreadQt.cpp: Removed. 466 * wtf/qt/StringQt.cpp: Removed. 467 * wtf/text/AtomicString.h: 468 * wtf/text/StringImpl.cpp: 469 (WTF::StringImpl::~StringImpl): 470 * wtf/text/StringImpl.h: 471 * wtf/text/WTFString.cpp: 472 (WTF::String::format): 473 * wtf/text/WTFString.h: 474 4752013-09-30 Sam Weinig <sam@webkit.org> 476 477 Remove support for DOMFileSystem 478 https://bugs.webkit.org/show_bug.cgi?id=122137 479 480 Reviewed by Anders Carlsson. 481 482 * wtf/FeatureDefines.h: 483 4842013-09-30 Benjamin Poulain <benjamin@webkit.org> 485 486 Remove the code guarded by STYLE_SCOPED 487 https://bugs.webkit.org/show_bug.cgi?id=122123 488 489 Reviewed by Anders Carlsson. 490 491 * wtf/FeatureDefines.h: 492 4932013-09-28 Mark Rowe <mrowe@apple.com> 494 495 Take Xcode's advice and enable some extra warnings. 496 497 Reviewed by Sam Weinig. 498 499 * Configurations/Base.xcconfig: 500 * WTF.xcodeproj/project.pbxproj: 501 5022013-09-28 Mark Rowe <mrowe@apple.com> 503 504 <rdar://problem/15079224> WTF fails to build with newer versions of clang. 505 506 Reviewed by Sam Weinig. 507 508 * wtf/DateMath.cpp: Remove some unused constants. 509 * wtf/FastMalloc.cpp: #if some constants and functions that are unused in some configurations. 510 Remove a function that's unused on all platforms. 511 * wtf/TCSystemAlloc.cpp: Remove some unused constants. 512 (TCMalloc_SystemRelease): Remove an if whose body is never executed. 513 * wtf/dtoa.cpp: #if things such that storeInc is only defined when USE_LONG_LONG is undefined. 514 Remove an unused constant. 515 5162013-09-27 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> 517 518 [Nix] Updating Nix trunk files 519 https://bugs.webkit.org/show_bug.cgi?id=121752 520 521 Reviewed by Benjamin Poulain. 522 523 * wtf/nix/FeatureDefinesNix.h: 524 5252013-09-06 Jer Noble <jer.noble@apple.com> 526 527 [Mac] Implement the media controls in JavaScript. 528 https://bugs.webkit.org/show_bug.cgi?id=120895 529 530 Reviewed by Dean Jackson. 531 532 Define and turn on ENABLE_MEDIA_CONTROLS_SCRIPT. 533 534 * wtf/FeatureDefines.h: 535 5362013-09-27 Gustavo Noronha Silva <gns@gnome.org> 537 538 [GCC] Fix build with gcc < 4.8.1, which does not have is_trivially_destructible 539 https://bugs.webkit.org/show_bug.cgi?id=121999 540 541 Reviewed by Benjamin Poulain. 542 543 * wtf/StdLibExtras.h: 544 5452013-09-26 Anders Carlsson <andersca@apple.com> 546 547 "Build fix". 548 549 We can't use std::move. Explicitly destroy the old value and then construct the new in place. 550 551 * wtf/HashTable.h: 552 5532013-09-26 Anders Carlsson <andersca@apple.com> 554 555 Use the move assignment operator when reinserting values in the hash map 556 https://bugs.webkit.org/show_bug.cgi?id=122003 557 558 Reviewed by Alexey Proskuryakov. 559 560 Using the move assignment operator ensures that the existing values will be destroyed correctly. 561 562 * wtf/HashTable.h: 563 5642013-09-26 Brent Fulgham <bfulgham@apple.com> 565 566 [Windows] Work around missing C++11 features of MSVC by providing an implementation for 567 std::is_trivially_destructible based on the existing std::has_trivial_destructor. 568 569 Rubber-stamped by Anders Carlsson. 570 571 * wtf/StdLibExtras.h: Add implementation for is_trivially_destructable for MSVC 2010 and prior. 572 5732013-09-26 Anders Carlsson <andersca@apple.com> 574 575 Remove needsDestruction from vector and hash traits 576 https://bugs.webkit.org/show_bug.cgi?id=121983 577 578 Reviewed by Sam Weinig. 579 580 For Vector, use std::is_trivially_destructible to determine whether to call the destructor. 581 For HashTable, always call the destructor; if it is trivial then no code will be generated for it and the loops will be folded away. 582 583 Removing this does break the ability to store objects with non-trivial destructors in vectors and hash maps 584 and have their destructors not be called when removed, but we've never used this feature in WebKit so the extra 585 code complexity is not worth it. 586 587 * wtf/HashTable.h: 588 (WTF::::deallocateTable): 589 * wtf/HashTraits.h: 590 * wtf/Vector.h: 591 (WTF::VectorTypeOperations::destruct): 592 * wtf/VectorTraits.h: 593 5942013-09-26 Anders Carlsson <andersca@apple.com> 595 596 Build fixes. 597 598 Fix a paste-o. 599 600 * wtf/StdLibExtras.h: 601 (std::make_unique): 602 6032013-09-26 Anders Carlsson <andersca@apple.com> 604 605 Remove the hash table mover 606 https://bugs.webkit.org/show_bug.cgi?id=121980 607 608 Reviewed by Andreas Kling. 609 610 Use std::move instead. 611 612 * wtf/HashTable.h: 613 6142013-09-26 Anders Carlsson <andersca@apple.com> 615 616 Change a couple of HashMap value types from OwnPtr to std::unique_ptr 617 https://bugs.webkit.org/show_bug.cgi?id=121973 618 619 Reviewed by Andreas Kling. 620 621 * wtf/RefPtrHashMap.h: 622 Add a missing std::forward. 623 624 * wtf/StdLibExtras.h: 625 (std::make_unique): 626 Add more overloads. 627 6282013-09-26 Julien Brianceau <jbriance@cisco.com> 629 630 [Qt] Remove PassTraits.h from WTF.pro. 631 https://bugs.webkit.org/show_bug.cgi?id=121946 632 633 Reviewed by Andreas Kling. 634 635 * WTF.pro: Remove PassTraits.h as this file disappeared in r156298. 636 6372013-09-25 Patrick Gansterer <paroga@webkit.org> 638 639 Fix compilation with new MSVC compiler for Windows CE 640 https://bugs.webkit.org/show_bug.cgi?id=121914 641 642 Reviewed by Darin Adler. 643 644 Remove code to support older Windows CE versions, since those old 645 versions do not support C+11, which is required in the meantime. 646 647 * wtf/Atomics.h: 648 * wtf/Platform.h: 649 6502013-09-25 Anders Carlsson <andersca@apple.com> 651 652 Move KeyValuePairTraits inside HashMap 653 https://bugs.webkit.org/show_bug.cgi?id=121931 654 655 Reviewed by Sam Weinig. 656 657 Also rename the ValueType typedef to KeyValuePairType since it's always a key value pair. 658 659 * wtf/HashMap.h: 660 (WTF::HashMap::KeyValuePairTraits::isEmptyValue): 661 (WTF::HashMap::find): 662 (WTF::HashMap::contains): 663 6642013-09-25 Anders Carlsson <andersca@apple.com> 665 666 Un-indent HashMap.h. 667 668 Rubber-stamped by Andreas Kling. 669 670 * wtf/HashMap.h: 671 6722013-09-25 Anders Carlsson <andersca@apple.com> 673 674 Un-indent HashTraits.h. 675 676 Rubber-stamped by Andreas Kling. 677 678 * wtf/HashTraits.h: 679 6802013-09-25 Patrick Gansterer <paroga@webkit.org> 681 682 Fix template deduction for CollatorDefault 683 684 * wtf/unicode/CollatorDefault.cpp: 685 (WTF::Collator::userDefault): Use nullptr instead of 0. 686 6872013-09-24 Anders Carlsson <andersca@apple.com> 688 689 Remove encoder create functions 690 https://bugs.webkit.org/show_bug.cgi?id=121853 691 692 Reviewed by Sam Weinig. 693 694 Add a variadic version of createOwned. 695 696 * wtf/OwnPtr.h: 697 (WTF::createOwned): 698 6992013-09-24 Mark Rowe <mrowe@apple.com> 700 701 <rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8 702 703 Reviewed by Dan Bernstein. 704 705 * Configurations/Base.xcconfig: 706 7072013-09-23 Anders Carlsson <andersca@apple.com> 708 709 Remove WTF_USE_SCROLLBAR_PAINTER #define 710 https://bugs.webkit.org/show_bug.cgi?id=121819 711 712 Reviewed by Sam Weinig. 713 714 All our supported systems use the scrollbar painter now, so get rid of the #ifdef. 715 716 * wtf/Platform.h: 717 7182013-09-23 Commit Queue <commit-queue@webkit.org> 719 720 Unreviewed, rolling out r156307. 721 http://trac.webkit.org/changeset/156307 722 https://bugs.webkit.org/show_bug.cgi?id=121817 723 724 Broke the build, and crashes the compiler (Requested by ap on 725 #webkit). 726 727 * wtf/ListDump.h: 728 (WTF::lessThan): 729 (WTF::sortedListDump): 730 7312013-09-23 Anders Carlsson <andersca@apple.com> 732 733 Test the waters and begin using lambdas 734 https://bugs.webkit.org/show_bug.cgi?id=121809 735 736 Reviewed by Andreas Kling. 737 738 * wtf/ListDump.h: 739 (WTF::sortedListDump): 740 Use std::less instead of a custom lessThan function. 741 7422013-09-23 Anders Carlsson <andersca@apple.com> 743 744 ListHashSet::removeLast should only remove one element. 745 746 * wtf/ListHashSet.h: 747 (WTF::ListHashSet::removeLast): 748 7492013-09-23 Anders Carlsson <andersca@apple.com> 750 751 Add hash traits for std::unique_ptr 752 https://bugs.webkit.org/show_bug.cgi?id=121807 753 754 Reviewed by Antti Koivisto. 755 756 Also, convert the thread map over to using std::unique_ptr instead of OwnPtr. 757 758 * wtf/HashMap.h: 759 Remove unnecessary typedefs and add missing calls to std::forward. 760 761 * wtf/HashTraits.h: 762 Add hash trait for std::unique_ptr. 763 764 * wtf/RefPtrHashMap.h: 765 Use std::add_lvalue_reference. 766 767 * wtf/ThreadingPthreads.cpp: 768 (WTF::establishIdentifierForPthreadHandle): 769 Change ThreadMap to be a hash map from ThreadIdentifier to std::unique_ptr<PthreadState>. 770 7712013-09-23 Patrick Gansterer <paroga@webkit.org> 772 773 use NOMINMAX instead of #define min min 774 https://bugs.webkit.org/show_bug.cgi?id=73563 775 776 Reviewed by Brent Fulgham. 777 778 Use NOMINMAX instead of #define min/max as a cleaner 779 way of ensuring that Windows system header files don't 780 define min/max as macro in the first place. 781 782 * config.h: 783 7842013-09-23 Anders Carlsson <andersca@apple.com> 785 786 Remove PassTraits.h 787 https://bugs.webkit.org/show_bug.cgi?id=121805 788 789 Reviewed by Andreas Kling. 790 791 We no longer need PassTraits.h, get rid of it. 792 793 * GNUmakefile.list.am: 794 * WTF.vcxproj/WTF.vcxproj: 795 * WTF.vcxproj/WTF.vcxproj.filters: 796 * WTF.xcodeproj/project.pbxproj: 797 * wtf/CMakeLists.txt: 798 * wtf/PassTraits.h: Removed. 799 8002013-09-23 Anders Carlsson <andersca@apple.com> 801 802 ListHashSet should work with move-only types 803 https://bugs.webkit.org/show_bug.cgi?id=121802 804 805 Reviewed by Andreas Kling. 806 807 Add rvalue reference overloads and calls to std::forward and std::move where appropriate. 808 809 * wtf/ListHashSet.h: 810 (WTF::::removeFirst): 811 Implement this in terms of takeFirst. 812 813 (WTF::::takeFirst): 814 Look up the iterator before we move out the value so we won't break the hash invariant. 815 816 (WTF::::removeLast): 817 Implement this in terms of takeLast. 818 819 (WTF::::takeLast): 820 Look up the iterator before we move out the value so we won't break the hash invariant. 821 8222013-09-23 Anders Carlsson <andersca@apple.com> 823 824 Clean up ListHashSet 825 https://bugs.webkit.org/show_bug.cgi?id=121797 826 827 Reviewed by Antti Koivisto. 828 829 * wtf/ListHashSet.h: 830 8312013-09-23 Anders Carlsson <andersca@apple.com> 832 833 ListHashSet should use std::reverse_iterator for reverse iterators 834 https://bugs.webkit.org/show_bug.cgi?id=121795 835 836 Reviewed by Antti Koivisto. 837 838 Get rid of the custom reverse iterators and just use std::reverse_iterator instead. 839 840 * wtf/ListHashSet.h: 841 8422013-09-23 Anders Carlsson <andersca@apple.com> 843 844 De-indent ListHashSet in preparation of more changes. 845 846 Rubber-stamped by Sam Weinig. 847 848 * wtf/ListHashSet.h: 849 8502013-09-23 Patrick Gansterer <paroga@webkit.org> 851 852 Cleanup CMake files in WTF 853 https://bugs.webkit.org/show_bug.cgi?id=121761 854 855 Reviewed by Gyuyoung Kim. 856 857 Sort files and unify the style. 858 859 * wtf/CMakeLists.txt: 860 * wtf/PlatformEfl.cmake: 861 * wtf/PlatformGTK.cmake: 862 8632013-09-22 Andreas Kling <akling@apple.com> 864 865 Give purity hints to compiler to avoid penalizing repeated calls to some functions. 866 <https://webkit.org/b/121744> 867 868 Reviewed by Darin Adler. 869 870 Added a PURE_FUNCTION macro. This is supported on GCC and Clang for now. 871 Marking a function pure means that the compiler's CSE pass is free to coalesce 872 multiple calls to this function because it has no globally observable side 873 effects beyond the first call. 874 8752013-09-20 Anders Carlsson <andersca@apple.com> 876 877 Add an implementation of std::index_sequence from C++14 878 https://bugs.webkit.org/show_bug.cgi?id=121718 879 880 Reviewed by Ryosuke Niwa. 881 882 This will make it easier to do things like pack expansion of tuple elements. 883 884 * wtf/StdLibExtras.h: 885 8862013-09-20 Allan Sandfeld Jensen <allan.jensen@digia.com> 887 888 Atomics.h does not build on MinGW 889 https://bugs.webkit.org/show_bug.cgi?id=121663 890 891 Reviewed by Darin Adler. 892 893 MinGW does not have _ReadWriteBarrier() intrinsic, but does have GCC 894 inline assembler, so use the GCC definitions instead of MSVC ones. 895 896 * wtf/Atomics.h: 897 (WTF::compilerFence): 898 8992013-09-20 Patrick Gansterer <paroga@webkit.org> 900 901 [CMake] Use COMPILE_DEFINITIONS target property for setting BUILDING_* defines 902 https://bugs.webkit.org/show_bug.cgi?id=121672 903 904 Reviewed by Gyuyoung Kim. 905 906 Since the scope of add_definitions() is always a whole file, we need to use 907 target properties instead to set definitions only for specific targets. 908 909 * wtf/CMakeLists.txt: 910 9112013-09-20 Patrick Gansterer <paroga@webkit.org> 912 913 Remove duplicated secondsPerDay variables 914 https://bugs.webkit.org/show_bug.cgi?id=121601 915 916 Reviewed by Andreas Kling. 917 918 Move secondsPerDay from the source into the header file 919 to make it accessible by other code too. 920 921 * wtf/DateMath.cpp: 922 * wtf/DateMath.h: 923 9242013-09-19 Joseph Pecoraro <pecoraro@apple.com> 925 926 ASSERTs in isMainThread after USE(WEB_THREAD) MainThread changes 927 https://bugs.webkit.org/show_bug.cgi?id=121650 928 929 Reviewed by Benjamin Poulain. 930 931 * wtf/mac/MainThreadMac.mm: 932 (WTF::initializeMainThreadPlatform): 933 9342013-09-19 Daniel Bates <dabates@apple.com> 935 936 [iOS] Define mainThreadEstablishedAsPthreadMain to be true in WTF::initializeMainThreadPlatform() 937 938 Reviewed by Joseph Pecoraro. 939 940 This change was inadvertently left out of <http://trac.webkit.org/changeset/155926>. 941 942 * wtf/mac/MainThreadMac.mm: 943 (WTF::initializeMainThreadPlatform): 944 9452013-09-19 Sam Weinig <sam@webkit.org> 946 947 Remove OwnArrayPtr 948 https://bugs.webkit.org/show_bug.cgi?id=121612 949 950 Reviewed by Anders Carlsson. 951 952 * GNUmakefile.list.am: 953 * WTF.pro: 954 * WTF.vcxproj/WTF.vcxproj: 955 * WTF.vcxproj/WTF.vcxproj.filters: 956 * WTF.xcodeproj/project.pbxproj: 957 * wtf/Assertions.cpp: 958 * wtf/CMakeLists.txt: 959 * wtf/DateMath.h: 960 * wtf/FastBitVector.h: 961 * wtf/Forward.h: 962 * wtf/OwnArrayPtr.h: Removed. 963 * wtf/VectorTraits.h: 964 9652013-09-19 Daniel Bates <dabates@apple.com> 966 967 Substitute return type void for bool in function declaration for WTF::initializeWebThread() 968 969 Reviewed by Joseph Pecoraro. 970 971 Make the declaration of WTF::initializeWebThread() match the function prototype 972 of its definition. 973 974 * wtf/MainThread.h: 975 9762013-09-19 Andreas Kling <akling@apple.com> 977 978 Assume allocator success in Vector unless using try* functions. 979 <https://webkit.org/b/121629> 980 981 Reviewed by Anders Carlsson. 982 983 Turn some Vector::begin() null checking into assertions instead. 984 985 We have try* style functions for when an allocation request is so 986 large that it might actually fail. fastMalloc() will never return 987 null (it will just CRASH() instead.) 988 9892013-09-18 Brent Fulgham <bfulgham@apple.com> 990 991 [Windows] Unreviewed build correction. 992 993 * WTF.vcxproj/WTFGeneratedCommon.props: Export PLATFORMARCHITECTURE macro for use in 994 Makefiles and shell scripts. 995 * WTF.vcxproj/build-generated-files.sh: Output header search path to identify when the build 996 is confused about build architecture. 997 9982013-09-18 Anders Carlsson <andersca@apple.com> 999 1000 RefPtrHashMap should work with move only types 1001 https://bugs.webkit.org/show_bug.cgi?id=121564 1002 1003 Reviewed by Andreas Kling. 1004 1005 Add the same rvalue references and std::forward calls that already exist in HashMap. 1006 1007 * wtf/RefPtrHashMap.h: 1008 10092013-09-18 Filip Pizlo <fpizlo@apple.com> 1010 1011 DFG should support Int52 for local variables 1012 https://bugs.webkit.org/show_bug.cgi?id=121064 1013 1014 Reviewed by Oliver Hunt. 1015 1016 * wtf/PrintStream.h: 1017 (WTF::ValueIgnoringContext::ValueIgnoringContext): 1018 (WTF::ValueIgnoringContext::dump): 1019 (WTF::ignoringContext): 1020 10212013-09-18 Andreas Kling <akling@apple.com> 1022 1023 Put constant CachedPower table in read-only memory. 1024 <https://webkit.org/b/121546> 1025 1026 Reviewed by Anders Carlsson. 1027 1028 * wtf/dtoa/cached-powers.cc: 1029 10302013-09-18 Commit Queue <commit-queue@webkit.org> 1031 1032 Unreviewed, rolling out r156019 and r156020. 1033 http://trac.webkit.org/changeset/156019 1034 http://trac.webkit.org/changeset/156020 1035 https://bugs.webkit.org/show_bug.cgi?id=121540 1036 1037 Broke tests (Requested by ap on #webkit). 1038 1039 * wtf/PrintStream.h: 1040 10412013-09-16 Filip Pizlo <fpizlo@apple.com> 1042 1043 DFG should support Int52 for local variables 1044 https://bugs.webkit.org/show_bug.cgi?id=121064 1045 1046 Reviewed by Oliver Hunt. 1047 1048 * wtf/PrintStream.h: 1049 (WTF::ValueIgnoringContext::ValueIgnoringContext): 1050 (WTF::ValueIgnoringContext::dump): 1051 (WTF::ignoringContext): 1052 10532013-09-17 Anders Carlsson <andersca@apple.com> 1054 1055 Stop explicitly using PassOwnPtr in WebCore/html 1056 https://bugs.webkit.org/show_bug.cgi?id=121511 1057 1058 Reviewed by Andreas Kling. 1059 1060 Make operator= work work for different types of OwnPtrs. 1061 1062 * wtf/OwnPtr.h: 1063 10642013-09-17 Sam Weinig <sam@webkit.org> 1065 1066 Add make_unique and start using it 1067 https://bugs.webkit.org/show_bug.cgi?id=121523 1068 1069 Reviewed by Anders Carlsson. 1070 1071 * wtf/StdLibExtras.h: 1072 (std::make_unique): 1073 Add temporary implementation of std::make_unique that we can use until our standard 1074 libraries have support for it. 1075 10762013-09-17 Darin Adler <darin@apple.com> 1077 1078 Make SVGTransform::valueAsString use StringBuilder 1079 https://bugs.webkit.org/show_bug.cgi?id=121498 1080 1081 Reviewed by Andreas Kling. 1082 1083 * wtf/text/StringBuilder.cpp: Added appendNumber functions corresponding to all remaining 1084 String::number functions. If we find we don't need all of these we can delete them later, 1085 but I don't want to give clients a reason to prefer less-efficient API to StringBuilder. 1086 * wtf/text/StringBuilder.h: Ditto. 1087 10882013-09-16 Anders Carlsson <andersca@apple.com> 1089 1090 HashMap should work with move-only keys 1091 https://bugs.webkit.org/show_bug.cgi?id=121310 1092 1093 Reviewed by Darin Adler. 1094 1095 Add extra overloads for add and set where the key is an rvalue reference, but not a 1096 template parameter rvalue reference. This way we'll coerce the key parameter to have the expected 1097 type instead of the passed in type, causing map.add(StringImpl::create("Hello"), 123) work when the 1098 type of map is HashMap<String, unsigned>. 1099 1100 Also, sprinkle && and std::forward where appropriate. 1101 1102 * wtf/HashMap.h: 1103 * wtf/HashTable.h: 1104 11052013-09-17 Sergio Martins <sergio.martins@kdab.com> 1106 1107 Fix Windows CE build on ARM. 1108 https://bugs.webkit.org/show_bug.cgi?id=121490 1109 1110 Reviewed by Darin Adler. 1111 1112 * wtf/dtoa/utils.h: 1113 11142013-09-17 Mihnea Ovidenie <mihnea@adobe.com> 1115 1116 REGRESSION(r155910): WebKit nightly builds don't load any page 1117 https://bugs.webkit.org/show_bug.cgi?id=121482 1118 1119 Reviewed by Andreas Kling. 1120 1121 Replaced C++ style comments with C style comments. 1122 1123 * wtf/Platform.h: 1124 11252013-09-16 Joseph Pecoraro <pecoraro@apple.com> 1126 1127 USE(WEB_THREAD): More explicit WebThread initialization 1128 https://bugs.webkit.org/show_bug.cgi?id=121454 1129 1130 Reviewed by Benjamin Poulain. 1131 1132 Be more explicit when initializing WebThread only data. 1133 1134 * wtf/MainThread.h: 1135 * wtf/MainThread.cpp: 1136 (WTF::initializeWebThreadOnce): 1137 (WTF::initializeWebThread): 1138 Ensure one time initialization. 1139 1140 * wtf/mac/MainThreadMac.mm: 1141 (WTF::initializeMainThreadPlatform): 1142 (WTF::initializeWebThreadPlatform): 1143 Move WebThread value initialization to its own function. 1144 1145 (WTF::isMainThread): 1146 Remove no longer invalid assert if WebThread was not initialized. 1147 11482013-09-16 Benjamin Poulain <benjamin@webkit.org> 1149 1150 Fix WebKit1 build after r155910 1151 1152 Reviewed by Anders Carlsson. 1153 1154 * wtf/Platform.h: Some files in WebKit include system headers before 1155 WTF headers, causing the macro to be defined twice. #undef the macro 1156 to support that case. 1157 11582013-09-16 Benjamin Poulain <benjamin@webkit.org> 1159 1160 Disable OS X's unprefixed debug macro 1161 https://bugs.webkit.org/show_bug.cgi?id=121460 1162 1163 Reviewed by Anders Carlsson. 1164 1165 * wtf/Platform.h: OS X defines a series of platform macros for debugging. 1166 Some of them are really annoying because they use common names (e.g. check()). 1167 1168 Disable those macros so that we are not limited in how we name methods and functions. 1169 11702013-09-16 Anders Carlsson <andersca@apple.com> 1171 1172 MessageQueue should use a Deque of OwnPtrs 1173 https://bugs.webkit.org/show_bug.cgi?id=121450 1174 1175 Reviewed by Andreas Kling. 1176 1177 * wtf/MessageQueue.h: 1178 11792013-09-16 Anders Carlsson <andersca@apple.com> 1180 1181 WTF::Deque should work with move only types 1182 https://bugs.webkit.org/show_bug.cgi?id=121446 1183 1184 Reviewed by Andreas Kling. 1185 1186 * wtf/Deque.h: 1187 Use std::move and std::forward where appropriate and get rid of the PassTraits include. 1188 11892013-09-16 Anders Carlsson <andersca@apple.com> 1190 1191 Change a couple of COMPILE_ASSERTs to static_assert 1192 https://bugs.webkit.org/show_bug.cgi?id=121441 1193 1194 Reviewed by Andreas Kling. 1195 1196 * wtf/BloomFilter.h: 1197 * wtf/PackedIntVector.h: 1198 (WTF::PackedIntVector::PackedIntVector): 1199 * wtf/StdLibExtras.h: 1200 (WTF::bitwise_cast): 1201 (WTF::safeCast): 1202 (WTF::roundUpToMultipleOf): 1203 * wtf/StringHasher.h: 1204 (WTF::StringHasher::hashMemory): 1205 * wtf/Vector.h: 1206 * wtf/text/AtomicString.cpp: 1207 * wtf/unicode/Unicode.h: 1208 12092013-09-15 Gustavo Noronha Silva <gns@gnome.org> 1210 1211 Unreviewed make distcheck fix. 1212 1213 * GNUmakefile.list.am: 1214 12152013-09-15 Patrick Gansterer <paroga@webkit.org> 1216 1217 Fix build with Visual Studio 2012 after r153764. 1218 https://bugs.webkit.org/show_bug.cgi?id=121406 1219 1220 Reviewed by Brent Fulgham. 1221 1222 * wtf/MathExtras.h: 1223 12242013-09-15 Alberto Garcia <berto@igalia.com> 1225 1226 Unreviewed GTK gardening. 1227 1228 * GNUmakefile.list.am: remove FastAllocBase.h, this file disappeared 1229 in r155251. 1230 12312013-09-15 Patrick Gansterer <paroga@webkit.org> 1232 1233 [WIN] Fix build without precompiled header after r155454. 1234 1235 * wtf/win/GDIObject.h: Added missing windows.h include. 1236 12372013-09-15 Andreas Kling <akling@apple.com> 1238 1239 Remove Ref(const T&) constructor. 1240 <https://webkit.org/b/121384> 1241 1242 Reviewed by Anders Carlsson. 1243 1244 This constructor was added as a stopgap measure until we got better support 1245 for move semantics in Vector. 1246 1247 * wtf/Ref.h: 1248 12492013-09-15 Andreas Kling <akling@apple.com> 1250 1251 Unreviewed, fix ridiculous bug in WeakPtr. 1252 1253 I made operator!() null check the pointer to the WeakReference. :| 1254 1255 Caught by plugins/destroy-on-setwindow.html on bots. 1256 1257 * wtf/WeakPtr.h: 1258 (WTF::WeakPtr::operator!): 1259 12602013-09-14 Andreas Kling <akling@apple.com> 1261 1262 Get rid of ref-counting on RenderWidget. 1263 <https://webkit.org/b/121357> 1264 1265 Reviewed by Darin Adler. 1266 1267 * wtf/WeakPtr.h: 1268 (WTF::WeakPtr::operator!): 1269 1270 Add operator! to WeakPtr. 1271 12722013-09-14 Darin Adler <darin@apple.com> 1273 1274 Add NeverDestroyed::get 1275 https://bugs.webkit.org/show_bug.cgi?id=121358 1276 1277 Reviewed by Anders Carlsson. 1278 1279 * wtf/NeverDestroyed.h: Removed code to make this non-copyable, since we also 1280 use a macro to accomplish that. 1281 (WTF::NeverDestroyed::get): Added. Useful in conjuction with auto to avoid 1282 having to repeat the type when we want to put one of these into a reference. 1283 12842013-09-13 Anders Carlsson <andersca@apple.com> 1285 1286 Pick the correct overload when a const reference is passed to appendSlowCase. 1287 https://bugs.webkit.org/show_bug.cgi?id=121326 1288 1289 Reviewed by Darin Adler. 1290 1291 * wtf/Vector.h: 1292 (WTF::Vector::appendSlowCase): 1293 Make sure that the pointer to the element isn't const so we'll pick the right expandCapacity overload. 1294 12952013-09-13 Anders Carlsson <andersca@apple.com> 1296 1297 Avoid a couple of zero-sized fastMalloc calls 1298 https://bugs.webkit.org/show_bug.cgi?id=121333 1299 1300 Reviewed by Geoffrey Garen. 1301 1302 * wtf/text/StringBuffer.h: 1303 (WTF::StringBuffer::StringBuffer): 1304 Initialize m_data to null if m_length is null, and use Checked<size_t> to check for 1305 overflow when multiplying m_length with the character size. 1306 13072013-09-13 Brent Fulgham <bfulgham@apple.com> 1308 1309 [Windows] Activate FastMalloc hardening 1310 https://bugs.webkit.org/show_bug.cgi?id=121307 1311 1312 Reviewed by Oliver Hunt. 1313 1314 * wtf/FastMalloc.cpp: 1315 (WTF::SLL_Next): Add workaround for MSVC compiler bug. 1316 13172013-09-13 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 1318 1319 OwnArrayPtr: Never allow implicit pointer conversion 1320 https://bugs.webkit.org/show_bug.cgi?id=121291 1321 1322 Reviewed by Anders Carlsson. 1323 1324 We should never allow implicit pointer conversion in OwnArrayPtr 1325 and remove its template copy constructor & template assignment operator, as: 1326 - these methods are never used 1327 - these methods are inappropriate to have in OwnArrayPtr as arrays do not 1328 interact well with polymorphism. 1329 1330 * wtf/OwnArrayPtr.h: 1331 13322013-09-13 Allan Sandfeld Jensen <allan.jensen@digia.com> 1333 1334 Remove support for QXmlStream as the XML parser. 1335 https://bugs.webkit.org/show_bug.cgi?id=121229 1336 1337 Reviewed by Andreas Kling. 1338 1339 Removed USE flags. 1340 1341 * wtf/Platform.h: 1342 13432013-09-12 Mark Hahnenberg <mhahnenberg@apple.com> 1344 1345 Bitmap's WordType should be a template parameter 1346 https://bugs.webkit.org/show_bug.cgi?id=121238 1347 1348 Reviewed by Darin Adler. 1349 1350 The code is written as if it already is. We just need to lift it out of the class. 1351 This simplifies code that wants to load, for example, a single byte rather than an 1352 entire 32-bit word. 1353 1354 * wtf/Bitmap.h: 1355 (WTF::Bitmap::Bitmap): 1356 (WTF::Bitmap::get): 1357 (WTF::Bitmap::set): 1358 (WTF::Bitmap::testAndSet): 1359 (WTF::Bitmap::testAndClear): 1360 (WTF::Bitmap::concurrentTestAndSet): 1361 (WTF::Bitmap::concurrentTestAndClear): 1362 (WTF::Bitmap::clear): 1363 (WTF::Bitmap::clearAll): 1364 (WTF::Bitmap::nextPossiblyUnset): 1365 (WTF::Bitmap::findRunOfZeros): 1366 (WTF::Bitmap::count): 1367 (WTF::Bitmap::isEmpty): 1368 (WTF::Bitmap::isFull): 1369 13702013-09-12 Anders Carlsson <andersca@apple.com> 1371 1372 Add rudimentary support for move-only types as values in HashMap 1373 https://bugs.webkit.org/show_bug.cgi?id=121226 1374 1375 Reviewed by Andreas Kling. 1376 1377 * wtf/HashMap.h: 1378 Change a bunch of functions to so they can take both rvalue and lvalue references and use std::forward. 1379 1380 * wtf/HashTraits.h: 1381 (WTF::KeyValuePair::KeyValuePair): 1382 Change constructors to accept both lvalues and rvalues. 1383 13842013-09-12 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 1385 1386 Remove home-brewed nullptr 1387 https://bugs.webkit.org/show_bug.cgi?id=119624 1388 1389 Reviewed by Anders Carlsson. 1390 1391 The standard C++11 nullptr and std::nullptr_t type should be used now. 1392 1393 * GNUmakefile.list.am: 1394 * WTF.pro: 1395 * WTF.vcxproj/WTF.vcxproj: 1396 * WTF.vcxproj/WTF.vcxproj.filters: 1397 * WTF.xcodeproj/project.pbxproj: 1398 * wtf/CMakeLists.txt: 1399 * wtf/NullPtr.cpp: Removed. 1400 * wtf/NullPtr.h: Removed. 1401 * wtf/OwnArrayPtr.h: 1402 * wtf/OwnPtr.h: 1403 * wtf/PassOwnPtr.h: 1404 * wtf/PassRefPtr.h: 1405 * wtf/RetainPtr.h: 1406 * wtf/win/GDIObject.h: 1407 14082013-09-11 Anders Carlsson <andersca@apple.com> 1409 1410 Use the new C++11 function declaration syntax throughout our hash collection classes 1411 https://bugs.webkit.org/show_bug.cgi?id=121195 1412 1413 Reviewed by Andreas Kling. 1414 1415 * wtf/HashMap.h: 1416 * wtf/HashSet.h: 1417 * wtf/HashTable.h: 1418 14192013-09-11 Anders Carlsson <andersca@apple.com> 1420 1421 Add HashSet::take 1422 https://bugs.webkit.org/show_bug.cgi?id=121192 1423 1424 Reviewed by Darin Adler. 1425 1426 This is mostly done to see if we can use the new C++11 function declaration syntax, 1427 and for parity with HashMap::take. 1428 1429 * wtf/HashMap.h: 1430 * wtf/HashSet.h: 1431 14322013-09-11 Anders Carlsson <andersca@apple.com> 1433 1434 HashSet should work with move only types 1435 https://bugs.webkit.org/show_bug.cgi?id=121188 1436 1437 Reviewed by Geoffrey Garen. 1438 1439 * wtf/HashSet.h: 1440 (WTF::HashSet::add): 1441 Add a new rvalue reference overload and use std::move when calling HashTable::add. 1442 1443 * wtf/HashTable.h: 1444 (WTF::IdentityHashTranslator::translate): 1445 Change this to take an rvalue reference for the value so we can invoke the move assignment operator. 1446 1447 (WTF::HashTable::add): 1448 Call the add member function template, using std::move to move the value. 1449 1450 (WTF::HashTable::add): 1451 Add std::forward so we'll potentially move extra. 1452 14532013-09-11 Anders Carlsson <andersca@apple.com> 1454 1455 Avoid copying a hash table bucket when inserting causes a rehash 1456 https://bugs.webkit.org/show_bug.cgi?id=121185 1457 1458 Reviewed by Darin Adler. 1459 1460 Allow rehashing to track a hash bucket and return the new pointer to it, thus avoiding 1461 having to do a copy of a hash table bucket as well as an extra hash lookup. 1462 1463 * wtf/HashTable.h: 1464 14652013-09-11 Brent Fulgham <bfulgham@apple.com> 1466 1467 [Windows] Unreviewed build fix. 1468 1469 * wtf/win/GDIObject.h: 1470 (WTF::GDIObject::GDIObject): I forgot to check in as part of 1471 r155557 by using webkit-patch land in a sub-directory! 1472 14732013-09-11 Oliver Hunt <oliver@apple.com> 1474 1475 Partial Information Leakage in Hash Table implementations (PrivateName) 1476 https://bugs.webkit.org/show_bug.cgi?id=120663 1477 1478 Reviewed by Michael Saboff. 1479 1480 Unique strings now just generate a completely random value as their 1481 hash, rather than using their this pointer. 1482 1483 * wtf/text/StringImpl.h: 1484 (WTF::StringImpl::StringImpl): 1485 14862013-09-11 Brent Fulgham <bfulgham@apple.com> 1487 1488 Unreviewed build correction. 1489 1490 * WTF.vcxproj/copy-files.cmd: Touch file to force WTFGenerated 1491 build to copy updated GDIObject.h header file on build machines. 1492 14932013-09-11 Anders Carlsson <andersca@apple.com> 1494 1495 Vector::append doesn't work if element type has overloaded operator& 1496 https://bugs.webkit.org/show_bug.cgi?id=121175 1497 1498 Reviewed by Brent Fulgham. 1499 1500 Use std::addressof to get the address of the given object. 1501 1502 * wtf/Vector.h: 1503 (WTF::::appendSlowCase): 1504 (WTF::::uncheckedAppend): 1505 15062013-09-11 Anders Carlsson <andersca@apple.com> 1507 1508 Vector::append doesn't work if element type has overloaded operator& 1509 https://bugs.webkit.org/show_bug.cgi?id=121175 1510 1511 Reviewed by Brent Fulgham. 1512 1513 Use std::addressof to get the address of the given object. 1514 1515 * wtf/Vector.h: 1516 (WTF::::appendSlowCase): 1517 (WTF::::uncheckedAppend): 1518 15192013-09-11 Anders Carlsson <andersca@apple.com> 1520 1521 VectorBuffer::swap doesn't need to use std::swap_ranges 1522 https://bugs.webkit.org/show_bug.cgi?id=121164 1523 1524 Reviewed by Darin Adler. 1525 1526 There's a std::swap overload for swapping arrays, just use it instead. 1527 1528 * wtf/Vector.h: 1529 (WTF::VectorBuffer::swap): 1530 15312013-09-11 Anders Carlsson <andersca@apple.com> 1532 1533 Implement Vector::append for move-only types 1534 https://bugs.webkit.org/show_bug.cgi?id=120805 1535 1536 Reviewed by Andreas Kling. 1537 1538 * wtf/Vector.h: 1539 (WTF::::expandCapacity): 1540 Remove const from the pointer passed to expandCapacity, it can be non-const if we're moving. 1541 1542 (WTF::::append): 1543 Change append to take U&& and use std::forward when constructing the element and when passing 1544 the element along to appendSlowCase if that's necessary. 1545 1546 (WTF::::appendSlowCase): 1547 Use std::forward. 1548 1549 (WTF::::uncheckedAppend): 1550 Rename val to value. 1551 15522013-09-11 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 1553 1554 WTF::OwnPtr should behave similarly with the rest of WTF smart pointers 1555 https://bugs.webkit.org/show_bug.cgi?id=120773 1556 1557 Reviewed by Anders Carlsson. 1558 1559 Before the change OwnPtr could take either the pointer type or the pointed-to type, which was bad 1560 for the following reasons: 1561 - It distinguished OwnPtr behaviour from other WTF smart pointer classes behaviour (so it was confusing for the Client). 1562 - It was potential error-prone as it actually modified the type given by the Client in opaque way. 1563 1564 * wtf/OwnPtr.h: 1565 * wtf/PassOwnPtr.h: 1566 15672013-09-11 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 1568 1569 OwnPtr: Use copy/move-and-swap for assignment operators 1570 https://bugs.webkit.org/show_bug.cgi?id=121154 1571 1572 Reviewed by Anders Carlsson. 1573 1574 Rationals: 1575 - decrease of repeated code 1576 - consistency with RefPtr 1577 1578 * wtf/OwnPtr.h: 1579 (WTF::=): 1580 15812013-09-11 Patrick Gansterer <paroga@webkit.org> 1582 1583 [CMake] Split out generic Windows files into its own file 1584 https://bugs.webkit.org/show_bug.cgi?id=119514 1585 1586 Reviewed by Gyuyoung Kim. 1587 1588 This allows us to add smaller CMakeLists.txt files when 1589 adding additional Windows ports. 1590 1591 * wtf/PlatformWin.cmake: Renamed from Source/WTF/wtf/PlatformWinCE.cmake. 1592 15932013-09-10 Daniel Bates <dabates@apple.com> 1594 1595 [iOS] Upstream text autosizing 1596 https://bugs.webkit.org/show_bug.cgi?id=121111 1597 1598 Reviewed by Andy Estes and Sam Weinig. 1599 1600 Define iOS text autosizing to be enabled on iOS unless otherwise defined. 1601 1602 * wtf/FeatureDefines.h: 1603 16042013-09-10 Anders Carlsson <andersca@apple.com> 1605 1606 Remove wtf/Alignment.h 1607 https://bugs.webkit.org/show_bug.cgi?id=121077 1608 1609 Reviewed by Andreas Kling. 1610 1611 * GNUmakefile.list.am: 1612 * WTF.pro: 1613 * WTF.vcxproj/WTF.vcxproj: 1614 * WTF.vcxproj/WTF.vcxproj.filters: 1615 * WTF.xcodeproj/project.pbxproj: 1616 * wtf/Alignment.h: Removed. 1617 * wtf/CMakeLists.txt: 1618 * wtf/text/ASCIIFastPath.h: 1619 16202013-09-10 Anders Carlsson <andersca@apple.com> 1621 1622 More WTF/Alignment.h removal 1623 https://bugs.webkit.org/show_bug.cgi?id=121125 1624 1625 Reviewed by Andreas Kling. 1626 1627 * wtf/Alignment.h: 1628 * wtf/Vector.h: 1629 (WTF::VectorBuffer::swap): 1630 (WTF::VectorBuffer::inlineBuffer): 1631 * wtf/text/ASCIIFastPath.h: 1632 (WTF::isAlignedTo): 1633 (WTF::isAlignedToMachineWord): 1634 16352013-09-10 Brent Fulgham <bfulgham@apple.com> 1636 1637 Unreviewed build fix after r155476. 1638 1639 * GNUmakefile.list.am: Remove reference to deleted OwnPtrWin.cpp file. 1640 * WTF.pro: Ditto. 1641 * wtf/CMakeLists.txt: Ditto. 1642 16432013-09-10 Brent Fulgham <bfulgham@apple.com> 1644 1645 [Windows] Create SharedGDIObject Class Template 1646 https://bugs.webkit.org/show_bug.cgi?id=121037 1647 1648 Reviewed by Anders Carlsson. 1649 1650 Now that the SharedGDIObject class exists we can get rid of 1651 the Windows-specific code in OwnPtr. 1652 1653 * WTF.vcxproj/WTF.vcxproj: Remove OwnPtrWin.cpp. 1654 * WTF.vcxproj/WTF.vcxproj.filters: Ditto. 1655 * wtf/OwnPtrCommon.h: 1656 (WTF::deleteOwnedPtr): Remove Windows declarations that 1657 are no longer needed. 1658 * wtf/win/GDIObject.h: 1659 (WTF::GDIObject::get): Change to 'const' to match 1660 signature (and use cases) elsewhere in the code base for 1661 our smart pointer classes. 1662 * wtf/win/OwnPtrWin.cpp: Removed. 1663 16642013-09-10 Anders Carlsson <andersca@apple.com> 1665 1666 Remove more uses of WTF::AlignedBuffer 1667 https://bugs.webkit.org/show_bug.cgi?id=121119 1668 1669 Reviewed by Andreas Kling. 1670 1671 * wtf/HashTable.h: 1672 * wtf/SizeLimits.cpp: 1673 16742013-09-10 Anders Carlsson <andersca@apple.com> 1675 1676 Clean up wtf/Noncopyable.h 1677 https://bugs.webkit.org/show_bug.cgi?id=121115 1678 1679 Reviewed by Darin Adler. 1680 1681 Use std::aligned_storage instead of WTF::AlignedBuffer. 1682 1683 * wtf/NeverDestroyed.h: 1684 (WTF::NeverDestroyed::NeverDestroyed): 1685 16862013-09-09 Brent Fulgham <bfulgham@apple.com> 1687 1688 [Windows] Change from using OwnPtr<GDI Stuff> to new GDIObject template. 1689 https://bugs.webkit.org/show_bug.cgi?id=120778 1690 1691 Reviewed by Anders Carlsson. 1692 1693 * WTF.vcxproj/WTF.vcxproj: Add new GDIObject header file. 1694 * WTF.vcxproj/WTF.vcxproj.filters: Ditto. 1695 * WTF.vcxproj/copy-files.cmd: Copy new header file. 1696 * wtf/OwnPtrCommon.h: Remove some GDI specializations. 1697 * wtf/win/GDIObject.h: Added. 1698 (WTF::GDIObject::GDIObject): 1699 (WTF::GDIObject::~GDIObject): 1700 (WTF::GDIObject::get): 1701 (WTF::GDIObject::operator!): 1702 (WTF::GDIObject::operator UnspecifiedBoolType): 1703 (WTF::GDIObject::operator=): 1704 (WTF::GDIObject::swap): 1705 (WTF::::clear): 1706 (WTF::::leak): 1707 (WTF::::GDIObject): 1708 (WTF::=): 1709 (WTF::adoptGDIObject): 1710 (WTF::swap): 1711 (WTF::T): 1712 (WTF::HDC): 1713 * wtf/win/OwnPtrWin.cpp: 1714 (WTF::deleteOwnedPtr): Remove some GDI specializations. 1715 17162013-09-09 Anders Carlsson <andersca@apple.com> 1717 1718 Introduce WTF::createOwned 1719 https://bugs.webkit.org/show_bug.cgi?id=121059 1720 1721 Reviewed by Andreas Kling. 1722 1723 WTF::createOwned is a function template that does adoptPtr + new in a single function call, 1724 with all the arguments being perfectly forwarded thanks to C++11. 1725 1726 Being forward-looking, createOwned returns an OwnPtr rather than a PassOwnPtr since the plan is 1727 to get rid of PassOwnPtr and just use std::move instead. 1728 1729 * wtf/FilePrintStream.cpp: 1730 * wtf/FilePrintStream.h: 1731 * wtf/HashTable.h: 1732 * wtf/ListHashSet.h: 1733 * wtf/OwnPtr.h: 1734 (WTF::OwnPtr::OwnPtr): 1735 (WTF::createOwned): 1736 (WTF::createThread): 1737 (WTF::establishIdentifierForPthreadHandle): 1738 (WTF::createThreadInternal): 1739 (WTF::Collator::userDefault): 1740 (WTF::Collator::userDefault): 1741 17422013-09-09 Anders Carlsson <andersca@apple.com> 1743 1744 Remove wtf/TypeTraits.h 1745 https://bugs.webkit.org/show_bug.cgi?id=121047 1746 1747 Reviewed by Darin Adler. 1748 1749 * GNUmakefile.list.am: 1750 * WTF.pro: 1751 * WTF.vcxproj/WTF.vcxproj: 1752 * WTF.vcxproj/WTF.vcxproj.filters: 1753 * WTF.xcodeproj/project.pbxproj: 1754 * wtf/CMakeLists.txt: 1755 * wtf/TypeTraits.cpp: Removed. 1756 * wtf/TypeTraits.h: Removed. 1757 * wtf/VectorTraits.h: 1758 17592013-09-09 Luciano Wolf <luciano.wolf@openbossa.org> 1760 1761 Nix upstreaming - Adding stubs and Nix specific platform files 1762 https://bugs.webkit.org/show_bug.cgi?id=118358 1763 1764 Reviewed by Benjamin Poulain. 1765 1766 Basically adding all files that have "Nix" in their names and 1767 are related to WebCore module. 1768 1769 * wtf/nix/FeatureDefinesNix.h: Added. 1770 * wtf/nix/PlatformNix.h: Added. 1771 17722013-09-08 Anders Carlsson <andersca@apple.com> 1773 1774 Begin moving off of TypeTraits.h 1775 https://bugs.webkit.org/show_bug.cgi?id=121006 1776 1777 Reviewed by Darin Adler. 1778 1779 The C++11 has its own type traits implementation that is more complete and handles corner cases better 1780 since it ties into the compiler. Begin switching uses of WTF type traits to STL type traits. 1781 1782 * wtf/CheckedArithmetic.h: 1783 * wtf/HashTraits.h: 1784 * wtf/NeverDestroyed.h: 1785 * wtf/OwnPtr.h: 1786 * wtf/PassOwnPtr.h: 1787 (WTF::adoptPtr): 1788 * wtf/RetainPtr.h: 1789 17902013-09-09 Julien Brianceau <jbriance@cisco.com> 1791 1792 [Qt] Remove FastAllocBase.h from WTF.pro. 1793 https://bugs.webkit.org/show_bug.cgi?id=121024 1794 1795 Reviewed by Jocelyn Turcotte. 1796 1797 * WTF.pro: Remove FastAllocBase.h as this file disappeared in r155251. 1798 17992013-09-08 Darin Adler <darin@apple.com> 1800 1801 Deprecate AdoptCF and AdoptNS (on all platforms except iOS for now) 1802 https://bugs.webkit.org/show_bug.cgi?id=121017 1803 1804 Reviewed by Andreas Kling. 1805 1806 * wtf/RetainPtr.h: Use the preprocessor to rename AdoptCF and AdoptNS 1807 to DeprecatedAdoptCF and DeprecatedAdoptNS on all platforms except 1808 for iOS. Also removed an unneeded explicit conversion in the retainPtr 1809 function. Also re-sorted the using lines at the end of the file. 1810 18112013-09-08 Anders Carlsson <andersca@apple.com> 1812 1813 Move WTF::notFound to Vector.h and delete NotFound.h 1814 https://bugs.webkit.org/show_bug.cgi?id=120990 1815 1816 Reviewed by Sam Weinig. 1817 1818 * GNUmakefile.list.am: 1819 * WTF.pro: 1820 * WTF.vcxproj/WTF.vcxproj: 1821 * WTF.vcxproj/WTF.vcxproj.filters: 1822 * WTF.xcodeproj/project.pbxproj: 1823 * wtf/CMakeLists.txt: 1824 * wtf/NotFound.h: Removed. 1825 * wtf/Vector.h: 1826 18272013-09-07 David Kilzer <ddkilzer@apple.com> 1828 1829 gtest fails to build due to integer type mismatch in WTF::insertIntoBoundedVector() 1830 <http://webkit.org/b/120983> 1831 1832 Reviewed by Dan Bernstein. 1833 1834 Fixes the following build failure: 1835 1836 WebKitBuild/Debug/usr/local/include/wtf/StdLibExtras.h:266:23: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32] 1837 for (unsigned i = size; i-- > index + 1;) 1838 ~ ^~~~ 1839 1840 * wtf/StdLibExtras.h: 1841 (WTF::insertIntoBoundedVector): Use size_t instead of unsigned 1842 as for loop index variable. 1843 18442013-09-07 Anders Carlsson <andersca@apple.com> 1845 1846 Remove NonCopyableSort.h from WTF 1847 https://bugs.webkit.org/show_bug.cgi?id=120984 1848 1849 Reviewed by Andreas Kling. 1850 1851 std::sort as defined by C++11 moves elements when possible, so there's no need for nonCopyableSort anymore. 1852 1853 * GNUmakefile.list.am: 1854 * WTF.pro: 1855 * WTF.vcxproj/WTF.vcxproj: 1856 * WTF.vcxproj/WTF.vcxproj.filters: 1857 * WTF.xcodeproj/project.pbxproj: 1858 * wtf/NonCopyingSort.h: Removed. 1859 18602013-09-07 Anders Carlsson <andersca@apple.com> 1861 1862 Get rid of PassOwnArrayPtr 1863 https://bugs.webkit.org/show_bug.cgi?id=120964 1864 1865 Reviewed by Andreas Kling. 1866 1867 Make OwnArrayPtr a proper move-only type and get rid of PassOwnArrayPtr. 1868 1869 Ultimately I'd like to get rid of OwnArrayPtr as well and just have it be a specialization 1870 of OwnPtr<T[]>, but this is a step in the right direction. 1871 1872 * GNUmakefile.list.am: 1873 * WTF.pro: 1874 * WTF.vcxproj/WTF.vcxproj: 1875 * WTF.vcxproj/WTF.vcxproj.filters: 1876 * WTF.xcodeproj/project.pbxproj: 1877 * wtf/Assertions.cpp: 1878 * wtf/CMakeLists.txt: 1879 * wtf/DateMath.h: 1880 * wtf/FastBitVector.h: 1881 * wtf/Forward.h: 1882 * wtf/OwnArrayPtr.h: 1883 * wtf/PassOwnArrayPtr.h: Removed. 1884 18852013-09-07 Anders Carlsson <andersca@apple.com> 1886 1887 VectorMover should use std::move 1888 https://bugs.webkit.org/show_bug.cgi?id=120959 1889 1890 Reviewed by Geoffrey Garen. 1891 1892 This lets the compiler use move constructors when moving data, which can be a performance improvement. 1893 If the vector element type isn't movable it will be copied instead. 1894 1895 * wtf/Vector.h: 1896 (WTF::VectorTypeOperations::move): 1897 (WTF::VectorTypeOperations::moveOverlapping): 1898 18992013-09-07 Anders Carlsson <andersca@apple.com> 1900 1901 Get rid of FastAllocBase.h 1902 https://bugs.webkit.org/show_bug.cgi?id=120952 1903 1904 Reviewed by Antti Koivisto. 1905 1906 FastAllocBase.h now only contains the WTF_MAKE_FAST_ALLOCATED macro. 1907 Move that macro to FastMalloc.h instead and remove FastAllocBase.h. 1908 1909 * WTF.vcxproj/WTF.vcxproj: 1910 * WTF.vcxproj/WTF.vcxproj.filters: 1911 * WTF.xcodeproj/project.pbxproj: 1912 * wtf/DeferrableRefCounted.h: 1913 * wtf/FastAllocBase.h: Removed. 1914 * wtf/FastMalloc.h: 1915 * wtf/HashSet.h: 1916 * wtf/MediaTime.h: 1917 * wtf/PrintStream.h: 1918 * wtf/RefCounted.h: 1919 * wtf/RefPtr.h: 1920 * wtf/ThreadingPrimitives.h: 1921 * wtf/Vector.h: 1922 * wtf/gobject/GMutexLocker.h: 1923 * wtf/unicode/Collator.h: 1924 19252013-09-06 Anders Carlsson <andersca@apple.com> 1926 1927 Add a new smart pointer type for fastMalloc'ed memory 1928 https://bugs.webkit.org/show_bug.cgi?id=120911 1929 1930 Reviewed by Andreas Kling. 1931 1932 Due to an oversight on my part, Vector::releaseBuffer() currently returns an OwnPtr 1933 which means that its data will be freed with operator delete instead of fastFree. 1934 1935 Fix this by introducing a new MllocPtr smart pointer class and change Vector::releaseBuffer() to return it instead. 1936 1937 * WTF.pro: 1938 * WTF.vcxproj/WTF.vcxproj: 1939 * WTF.vcxproj/WTF.vcxproj.filters: 1940 * WTF.xcodeproj/project.pbxproj: 1941 * wtf/CMakeLists.txt: 1942 * wtf/FastAllocBase.h: 1943 * wtf/MallocPtr.h: Added. 1944 * wtf/Vector.h: 1945 * wtf/text/StringBuffer.h: 1946 * wtf/text/StringImpl.h: 1947 19482013-09-06 Andreas Kling <akling@apple.com> 1949 1950 Remove old workaround for Nokia's Harmattan GCC on Qt/ARM. 1951 <https://webkit.org/b/37253> 1952 1953 Reviewed by Anders Carlsson. 1954 1955 Apparently this was a workaround for GCC getting stuck in an infinite loop 1956 when building for ARM in a Nokia SDK over 2 years ago. 1957 1958 I think it's safe to remove this now, but if I'm wrong, and you're reading 1959 this ChangeLog wondering why I did this to you, feel free to put it back in. 1960 1961 * wtf/PassRefPtr.h: 1962 (WTF::refIfNotNull): 1963 (WTF::derefIfNotNull): 1964 19652013-09-06 Andreas Kling <akling@apple.com> 1966 1967 Remove unused RefPtr(PlacementNewAdopt) constructor. 1968 <https://webkit.org/b/120914> 1969 1970 Reviewed by Anders Carlsson. 1971 1972 * wtf/RefPtr.h: 1973 19742013-09-06 David Kilzer <ddkilzer@apple.com> 1975 1976 BUILD FIX (r155171): INSTALL_PATH_PREFIX should no longer be used beneath BUILT_PRODUCTS_DIR in HEADER_SEARCH_PATHS for iOS 1977 1978 * Configurations/Base.xcconfig: 1979 (HEADER_SEARCH_PATHS): Change 1980 $(BUILT_PRODUCTS_DIR)/$(INSTALL_PATH_PREFIX)/usr/local/include to 1981 $(BUILT_PRODUCTS_DIR)/usr/local/include. 1982 19832013-09-06 Anders Carlsson <andersca@apple.com> 1984 1985 Remove fastNew/fastDelete 1986 https://bugs.webkit.org/show_bug.cgi?id=120904 1987 1988 Reviewed by Andreas Kling. 1989 1990 Remove the various variants of fastNew and fastDelete. 1991 1992 * wtf/FastAllocBase.h: 1993 19942013-09-06 Alberto Garcia <berto@igalia.com> 1995 1996 [GTK] GlibUtilities: getCurrentExecutablePath() does not compile on GNU/Hurd 1997 https://bugs.webkit.org/show_bug.cgi?id=120793 1998 1999 Reviewed by Gustavo Noronha Silva. 2000 2001 Original patch by Svante Signell <svante.signell@telia.com>. 2002 2003 PATH_MAX is not defined in GNU/Hurd, this patch adds a dummy 2004 implementation to make it compile. 2005 2006 * wtf/gobject/GlibUtilities.cpp: 2007 (getCurrentExecutablePath): 2008 20092013-09-05 Dan Bernstein <mitz@apple.com> 2010 2011 INSTALL_PATH_PREFIX is used even when not installing 2012 https://bugs.webkit.org/show_bug.cgi?id=120810 2013 2014 Reviewed by Andy Estes. 2015 2016 * Configurations/CopyWTFHeaders.xcconfig: Removed INSTALL_PATH_PREFIX from 2017 the definition of PRIVATE_HEADERS_FOLDER_PATH. Also removed the leading 2018 slash, because the Xcode definition of this build setting is relative. 2019 * WTF.xcodeproj/project.pbxproj: Prepend INSTALL_PATH_PREFIX here when installing. 2020 20212013-09-05 Anders Carlsson <andersca@apple.com> 2022 2023 Fix build with older versions of clang from Xcode. 2024 2025 * wtf/Compiler.h: 2026 20272013-09-05 Anders Carlsson <andersca@apple.com> 2028 2029 Make Vector::uncheckedAppend work with move-only types 2030 https://bugs.webkit.org/show_bug.cgi?id=120799 2031 2032 Reviewed by Andreas Kling. 2033 2034 * wtf/Vector.h: 2035 (WTF::::uncheckedAppend): 2036 Use std::forward to invoke the move constructor when possible. 2037 20382013-09-05 Anders Carlsson <andersca@apple.com> 2039 2040 Add COMPILER_SUPPORTS(CXX_AUTO_TYPE) and #error if it's 0 2041 https://bugs.webkit.org/show_bug.cgi?id=120794 2042 2043 Reviewed by Andreas Kling. 2044 2045 People have already begun using C++11 auto in WebCore, so let's make it a prerequisite. 2046 2047 * wtf/Compiler.h: 2048 20492013-09-05 Anders Carlsson <andersca@apple.com> 2050 2051 Clean up wtf/Compiler.h 2052 https://bugs.webkit.org/show_bug.cgi?id=120790 2053 2054 Reviewed by Andreas Kling. 2055 2056 - Get rid of the CLANG_PRAGMA define, it's not used anywhere. 2057 - Remove a workaround for a bug in the version of clang that came with Xcode 4.2. 2058 - Replace WTF_COMPILER_SUPPORTS_CXX_FINAL_CONTROL with a compiler quirk for versions of clang 2059 that have a buggy final implementation and fix a bug in the macro where final would be disabled 2060 for versions of clang where __clang_minor__ is less than 2, regardless of the major version. 2061 - Fail if someone tries to compile the WebKit stack with a compiler that doesn't support rvalue 2062 references or static_assert. 2063 2064 * wtf/Compiler.h: 2065 20662013-09-05 Anders Carlsson <andersca@apple.com> 2067 2068 Change StringBuffer back to not use an OwnPtr in an attempt to fix ports. 2069 2070 * wtf/text/StringBuffer.h: 2071 20722013-09-04 Anders Carlsson <andersca@apple.com> 2073 2074 Vector::releaseBuffer should return an OwnPtr 2075 https://bugs.webkit.org/show_bug.cgi?id=120718 2076 2077 Reviewed by Andreas Kling. 2078 2079 Change Vector::releaseBuffer() to return an OwnPtr. I intentionally chose 2080 to use an OwnPtr over a PassOwnPtr since we're trying to move away from PassOwnPtr objects. 2081 2082 Fix fallout from this change by adopting OwnPtr/PassOwnPtr in StringBuffer and the two StringImpl 2083 constructors that adopt the passed in pointer. 2084 2085 * wtf/Vector.h: 2086 * wtf/text/StringBuffer.h: 2087 * wtf/text/StringImpl.h: 2088 20892013-09-05 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 2090 2091 Remove String(RefPtr<StringImpl>) constructor 2092 https://bugs.webkit.org/show_bug.cgi?id=120767 2093 2094 Reviewed by Anders Carlsson. 2095 2096 The String(RefPtr<StringImpl>) constructor should be removed for the following reasons: 2097 - It almost does not have clients, so it is unneeded. 2098 - RefPtr should never be passed by value 2099 2100 * wtf/text/StringBuilder.cpp: 2101 (WTF::StringBuilder::shrinkToFit): 2102 * wtf/text/WTFString.h: 2103 21042013-09-05 Jaehun Lim <ljaehun.lim@samsung.com> 2105 2106 Unreviewed. Fix build after r155083 2107 2108 Source/WTF/wtf/Vector.h:1210:48: error: ‘>>’ should be ‘> >’ within a nested template argument list 2109 2110 * wtf/Vector.h: Add missing space. 2111 21122013-09-04 Mark Rowe <mrowe@apple.com> 2113 2114 Fix AutodrainedPool.h to compile without errors under ARC. 2115 2116 Rubber-stamped by Anders Carlsson. 2117 2118 * wtf/AutodrainedPool.h: Some versions of Clang complain about any use of NSAutoreleasePool under ARC. 2119 Change the type of the member variable to id to work around this. Since the implementation file is compiled 2120 under manual reference counting, everything will work fine. 2121 21222013-09-04 Anders Carlsson <andersca@apple.com> 2123 2124 De-indent Vector.h. 2125 2126 Rubber-stamped by Andreas Kling. 2127 2128 I'm cleaning up Vector and making it work with move-only objects, and the namespace WTF 2129 indentation is driving me crazy. 2130 2131 * wtf/Vector.h: 2132 21332013-09-03 Filip Pizlo <fpizlo@apple.com> 2134 2135 CodeBlock memory cost reporting should be rationalized 2136 https://bugs.webkit.org/show_bug.cgi?id=120615 2137 2138 Reviewed by Darin Adler. 2139 2140 * wtf/RefCountedArray.h: 2141 (WTF::RefCountedArray::refCount): 2142 21432013-09-03 Enrica Casucci <enrica@apple.com> 2144 2145 Follow up to http://trac.webkit.org/changeset/155014 2146 2147 Reviewed by Alexey Proskuryakov. 2148 2149 In the r155014 I renamed hasLineBreakingPropertyComplexContext 2150 to requiresComplexContextForWordBreaking but forgot to 2151 make the same change in UnicodeWchar.h. 2152 2153 * wtf/unicode/wchar/UnicodeWchar.cpp: 2154 (WTF::Unicode::requiresComplexContextForWordBreaking): 2155 * wtf/unicode/wchar/UnicodeWchar.h: 2156 21572013-09-03 Enrica Casucci <enrica@apple.com> 2158 2159 Can't select Katakana word by double-clicking. 2160 <rdar://problem/14654926> 2161 2162 Reviewed by Alexey Proskuryakov and Ryosuke Niwa. 2163 2164 For some languages, like Japanese we need 2165 to use more context for word breaking. 2166 I've renamed the function to better reflect its use 2167 and remove the unused hasLineBreakingPropertyComplexContextOrIdeographic. 2168 2169 * wtf/unicode/icu/UnicodeIcu.h: 2170 (WTF::Unicode::requiresComplexContextForWordBreaking): 2171 21722013-09-03 Andreas Kling <akling@apple.com> 2173 2174 Support Vector<Ref<T>>. 2175 <https://webkit.org/b/120637> 2176 2177 Reviewed by Antti Koivisto. 2178 2179 Add a Ref(const T&) constructor to enable Vector<Ref<T>>. This looks a bit awkward 2180 but is necessary for Vector::append(const T&) to find a constructor. 2181 2182 An alternative would be to add something like std::vector::emplace_back, but I can't 2183 think of a good name for that, and it'd be nice if append() would "just work." 2184 2185 Also add operator->(). I initially excluded this because I felt it made for 2186 unsafe-looking code. Things quickly got out of hand with .get() everywhere though. 2187 2188 IMO -> looks OK as long as it's only used on the first link in a dereference chain, 2189 as that variable and its type will be "in context." 2190 2191 * wtf/Ref.h: 2192 (WTF::Ref::Ref): 2193 (WTF::Ref::~Ref): 2194 (WTF::Ref::operator->): 2195 (WTF::Ref::get): 2196 * wtf/VectorTraits.h: 2197 2198 Add simple traits for Ref<T> so it can be moved around freely by Vector. 2199 22002013-09-03 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 2201 2202 Check WTF::VectorFiller template argument type size in compile time 2203 https://bugs.webkit.org/show_bug.cgi?id=120631 2204 2205 Reviewed by Darin Adler. 2206 2207 The template argument's type size in WTF::VectorFiller 'memset' specialization 2208 should be checked during compilation rather than in runtime. 2209 2210 * wtf/Vector.h: 2211 22122013-09-02 Darin Adler <darin@apple.com> 2213 2214 Cut down on double hashing and code needlessly using hash table iterators 2215 https://bugs.webkit.org/show_bug.cgi?id=120611 2216 2217 Reviewed by Andreas Kling. 2218 2219 Double hashing is common in code that needs to combine a remove with some 2220 action to only be done if the code is removed. The only way to avoid it is 2221 to write code using find and a hash table iterator. To help with this, add 2222 a boolean return value to remove functions to indicate if anything was removed. 2223 2224 Double hashing also happens in code that does a get followed by a remove. 2225 The take function is helpful in this case. To help with this, add a takeFirst 2226 funciton to ListHashSet. 2227 2228 * wtf/HashCountedSet.h: 2229 (WTF::HashCountedSet::removeAll): Added a boolean return value, analogous to the one 2230 that the HashCountedSet::remove function already has. 2231 2232 * wtf/HashMap.h: 2233 (WTF::HashMap::remove): Added a boolean return value, true if something was removed. 2234 * wtf/HashSet.h: 2235 (WTF::HashSet::remove): Ditto. 2236 * wtf/RefPtrHashMap.h: 2237 (WTF::RefPtrHashMap::remove): Ditto. 2238 2239 * wtf/ListHashSet.h: 2240 (WTF::ListHashSet::takeFirst): Added. 2241 (WTF::ListHashSet::takeLast): Added. 2242 (WTF::ListHashSet::remove): Added a boolean return value, true if something was removed. 2243 2244 * wtf/WTFThreadData.h: 2245 (JSC::IdentifierTable::remove): Use the new remove return value to get rid of most of 2246 the code in this function. 2247 22482013-09-02 David Kilzer <ddkilzer@apple.com> 2249 2250 Remove duplicate entries found by Xcode in WTF project 2251 2252 Platform.h was duplicated in r111778 after being added in 2253 r111504. 2254 2255 A dangling reference to Ref.h was added in r154962. 2256 2257 * WTF.xcodeproj/project.pbxproj: Remove duplicate entries for 2258 Platform.h and Ref.h. 2259 22602013-09-02 Andreas Kling <akling@apple.com> 2261 2262 Actually add Ref.h 2263 22642013-09-02 Darin Adler <darin@apple.com> 2265 2266 [Mac] No need for HardAutorelease, which is same as CFBridgingRelease 2267 https://bugs.webkit.org/show_bug.cgi?id=120569 2268 2269 Reviewed by Andy Estes. 2270 2271 * wtf/ObjcRuntimeExtras.h: Added a FIXME about miscapitalization of ObjC. 2272 Deleted HardAutorelease. 2273 (wtfObjcMsgSend): Dropped the use of abbreviations in local class and argument names. 2274 (wtfCallIMP): Ditto. 2275 22762013-09-01 Andreas Kling <akling@apple.com> 2277 2278 Ref: A smart pointer for the reference age. 2279 <https://webkit.org/b/120570> 2280 2281 Reviewed by Antti Koivisto. 2282 2283 Add a very simple simple Ref<T> smart pointer class that is never null. 2284 It's initialized by passing a T& to the constructor and cannot be assigned to. 2285 2286 operator-> is not overloaded, to prevent unsafe-looking code. 2287 The value is extracted by "T& get()", since C++ does not let you override operator.() 2288 2289 * wtf/Ref.h: 2290 22912013-08-30 Oliver Hunt <oliver@apple.com> 2292 2293 Make JSValue bool conversion less dangerous 2294 https://bugs.webkit.org/show_bug.cgi?id=120505 2295 2296 Reviewed by Darin Adler. 2297 2298 Make LIKELY and UNLIKELY macros coerce to bool before 2299 passing to expect. 2300 2301 * wtf/Compiler.h: 2302 23032013-08-30 Antti Koivisto <antti@apple.com> 2304 2305 Remove code behind ENABLE(DIALOG_ELEMENT) 2306 https://bugs.webkit.org/show_bug.cgi?id=120467 2307 2308 Reviewed by Darin Adler. 2309 2310 * wtf/FeatureDefines.h: 2311 23122013-08-29 Sam Weinig <sam@webkit.org> 2313 2314 Add ENABLE guards for Promises 2315 https://bugs.webkit.org/show_bug.cgi?id=120488 2316 2317 Reviewed by Andreas Kling. 2318 2319 * wtf/FeatureDefines.h: 2320 23212013-08-28 Zan Dobersek <zdobersek@igalia.com> 2322 2323 [GTK] Add support for building JSC with FTL JIT enabled 2324 https://bugs.webkit.org/show_bug.cgi?id=120270 2325 2326 Reviewed by Filip Pizlo. 2327 2328 * wtf/Platform.h: Define ENABLE_FTL_JIT to the value of 1 for the GTK port if building for the x86-64 2329 architecture with LLVM present and the define not being previously defined. This is applicable when 2330 configuring the Automake build with '--enable-ftl-jit=auto'. 2331 23322013-08-27 Arunprasad Rajkumar <arurajku@cisco.com> 2333 2334 Replace currentTime() with monotonicallyIncreasingTime() in WebCore 2335 https://bugs.webkit.org/show_bug.cgi?id=119958 2336 2337 Reviewed by Alexey Proskuryakov. 2338 2339 WTF::currentTime() is prone to NTP and manual adjustments, so use 2340 WTF::monotonicallyIncreasingTime() to measure elapsed time. 2341 2342 It is a continuation of r154201. 2343 2344 * wtf/CurrentTime.h: Edited comment. 2345 23462013-08-27 Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk> 2347 2348 [gstreamer] Make sure gstreamer source element is thread-safe 2349 https://bugs.webkit.org/show_bug.cgi?id=115352 2350 2351 Reviewed by Philippe Normand. 2352 2353 Add convenience class that simplifies locking and unlocking a GMutex. 2354 2355 * GNUmakefile.list.am: 2356 * wtf/gobject/GMutexLocker.h: Added. 2357 (WebCore::GMutexLocker::GMutexLocker): 2358 (WebCore::GMutexLocker::~GMutexLocker): 2359 (WebCore::GMutexLocker::lock): 2360 (WebCore::GMutexLocker::unlock): 2361 (WebCore::GMutexLocker::mutex): 2362 23632013-08-26 Andy Estes <aestes@apple.com> 2364 2365 Don't leak objects in HardAutorelease when OBJC_NO_GC is undefined but 2366 Objective-C GC is disabled at runtime. 2367 2368 Reviewed by Darin Adler. 2369 2370 * wtf/ObjcRuntimeExtras.h: 2371 (HardAutorelease): 2372 23732013-08-23 Andy Estes <aestes@apple.com> 2374 2375 Fix issues found by the Clang Static Analyzer 2376 https://bugs.webkit.org/show_bug.cgi?id=120230 2377 2378 Reviewed by Darin Adler. 2379 2380 * wtf/ObjcRuntimeExtras.h: 2381 (HardAutorelease): Added a canonical implementation of HardAutorelease. 2382 23832013-08-26 Zan Dobersek <zdobersek@igalia.com> 2384 2385 Undefine __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS before redefining them 2386 https://bugs.webkit.org/show_bug.cgi?id=120313 2387 2388 Reviewed by Darin Adler. 2389 2390 * wtf/LLVMHeaders.h: Undefine the two macros before they are defined again. 2391 This way we avoid the compilation-time warnings about the macros being invalidly redefined. 2392 23932013-08-26 Oliver Hunt <oliver@apple.com> 2394 2395 Building is so overrated. 2396 2397 * wtf/Compression.cpp: 2398 (WTF::GenericCompressedData::decompress): 2399 24002013-08-26 Oliver Hunt <oliver@apple.com> 2401 2402 Disable compression under MSVC for now as we're getting 2403 weird release-only failures. 2404 2405 * wtf/Compression.cpp: 2406 24072013-08-24 Benjamin Poulain <benjamin@webkit.org> 2408 2409 Save three bytes per CStringBuffer object 2410 https://bugs.webkit.org/show_bug.cgi?id=120040 2411 2412 Reviewed by Darin Adler. 2413 2414 Merge https://chromium.googlesource.com/chromium/blink/+/894ae8eafdb64912aefd8f9c809f4ccda84f3b89 2415 2416 sizeof(CStringBuffer) was rounded up to 8 on account of struct size and 2417 alignment rules. This is clearly not what was intended. 2418 2419 * wtf/text/CString.cpp: 2420 (WTF::CStringBuffer::createUninitialized): 2421 * wtf/text/CString.h: 2422 (WTF::CStringBuffer::data): 2423 (WTF::CStringBuffer::mutableData): 2424 24252013-08-24 Darin Adler <darin@apple.com> 2426 2427 RetainPtr lacks move constructor for case when argument is a RetainPtr of a different type 2428 https://bugs.webkit.org/show_bug.cgi?id=120255 2429 2430 Reviewed by Andreas Kling. 2431 2432 * wtf/RetainPtr.h: Added missing move constructor, modeled on the other move constructor, 2433 and the one from RetPtr. 2434 24352013-08-24 Oliver Hunt <oliver@apple.com> 2436 2437 Make the world build. 2438 2439 * wtf/Compression.h: 2440 24412013-08-24 Oliver Hunt <oliver@apple.com> 2442 2443 REGRESSION(r154498): Crashes on EFL, GTK, Qt on release configurations 2444 https://bugs.webkit.org/show_bug.cgi?id=120246 2445 2446 Reviewed by Antti Koivisto. 2447 2448 Undestroy all the platforms that don't use the global new overload 2449 2450 * wtf/Compression.h: 2451 24522013-08-21 Mark Rowe <mrowe@apple.com> 2453 2454 <https://webkit.org/b/120141> Make RetainPtr work with ARC. 2455 2456 Have RetainPtr store the object its managing as a CFTypeRef and manage its lifetime with 2457 CFRetain / CFRelease. This is necessary to have explicit control over the lifetime of 2458 Objective-C objects when automatic reference counting is in use. Two helper methods are 2459 introduced to convert between the pointer type that the RetainPtr manages and the CFTypeRef 2460 that the pointer is stored as. For CF types and Objective-C types with ARC disabled, 2461 these methods are simply casts. For Objective-C types under ARC they need to use the 2462 special bridging casts to keep the compiler happy. 2463 2464 Reviewed by Anders Carlsson. 2465 2466 * wtf/RetainPtr.h: 2467 (WTF::RetainPtr::RetainPtr): Use the helper methods to convert to and from the storage 2468 types when necessary. 2469 (WTF::RetainPtr::~RetainPtr): Ditto. 2470 (WTF::RetainPtr::get): Ditto. 2471 (WTF::RetainPtr::operator->): Ditto. 2472 (WTF::RetainPtr::operator PtrType): Ditto. 2473 (WTF::::RetainPtr): Ditto. 2474 (WTF::::clear): Ditto. 2475 (WTF::::leakRef): Ditto. 2476 (WTF::=): Ditto. 2477 2478 (WTF::RetainPtr::fromStorageTypeHelper): Use crazy template magic to determine whether to use 2479 a bridging cast or not depending on the desired return type. 2480 (WTF::RetainPtr::fromStorageType): 2481 (WTF::RetainPtr::toStorageType): Overloading is sufficient here. 2482 24832013-08-21 Mark Rowe <mrowe@apple.com> 2484 2485 Revert r153637. 2486 2487 It didn't work with ARC like it said it would. We'll need to take a slightly different approach. 2488 2489 Rubber-stamped by Anders Carlsson. 2490 2491 * wtf/RetainPtr.h: 2492 (WTF::RetainPtr::RetainPtr): 2493 (WTF::RetainPtr::~RetainPtr): 2494 (WTF::RetainPtr::operator UnspecifiedBoolType): 2495 (WTF::::RetainPtr): 2496 (WTF::::clear): 2497 (WTF::=): 2498 (WTF::adoptCF): 2499 (WTF::adoptNS): 2500 25012013-08-23 Brent Fulgham <bfulgham@apple.com> 2502 2503 [Windows] Unreviewed build correction after r154513. 2504 2505 * WTF.vcxproj/build-generated-files.sh: Variable was missing '$' character. 2506 25072013-08-23 Darin Adler <darin@apple.com> 2508 2509 Cut down repeated code in RefPtr and RetainPtr by using copy/move-and-swap for assignment operators 2510 https://bugs.webkit.org/show_bug.cgi?id=120223 2511 2512 Reviewed by Anders Carlsson. 2513 2514 * wtf/RefPtr.h: Switch to copy-and-swap in the assignment operators. The move ones already were done 2515 that way. 2516 * wtf/RetainPtr.h: Ditto, except for the move ones too. 2517 25182013-08-23 Oliver Hunt <oliver@apple.com> 2519 2520 Add more validation logic to CompressibleVector 2521 https://bugs.webkit.org/show_bug.cgi?id=120227 2522 2523 Reviewed by Brent Fulgham. 2524 2525 Add a pile of assertions to try on catch whatever is going wrong 2526 in the windows environment or other platforms. 2527 2528 * wtf/Compression.cpp: 2529 (WTF::GenericCompressedData::create): 2530 (WTF::GenericCompressedData::decompress): 2531 * wtf/Compression.h: 2532 (WTF::CompressedVector::decompress): 2533 25342013-08-23 Alex Christensen <achristensen@apple.com> 2535 2536 Re-separating Win32 and Win64 builds. 2537 https://bugs.webkit.org/show_bug.cgi?id=120178 2538 2539 Reviewed by Brent Fulgham. 2540 2541 * WTF.vcxproj/WTFGenerated.make: 2542 Pass PlatformArchitecture as a command line parameter to bash scripts. 2543 * WTF.vcxproj/build-generated-files.sh: 2544 Use PlatformArchitecture from command line to determine which object directory to use (obj32 or obj64). 2545 25462013-08-22 Filip Pizlo <fpizlo@apple.com> 2547 2548 build-jsc --ftl-jit should work 2549 https://bugs.webkit.org/show_bug.cgi?id=120194 2550 2551 Reviewed by Oliver Hunt. 2552 2553 * wtf/LLVMHeaders.h: I don't know what went wrong here. If HAVE(LLVM), then we need those headers! 2554 25552013-08-23 Brent Fulgham <bfulgham@apple.com> 2556 2557 [Windows] Unreviewed build correction after r154498. 2558 2559 * WTF.vcxproj/WTF.vcxproj.filters: Adjust files so they show up 2560 in the proper folders. 2561 * WTF.vcxproj/WTFCommon.props: Add search path for zlib header and 2562 include link directive. 2563 25642013-08-23 Oliver Hunt <oliver@apple.com> 2565 2566 Attempt to appease windows bot. 2567 2568 * wtf/Compression.h: 2569 25702013-08-23 Oliver Hunt <oliver@apple.com> 2571 2572 Re-sort xcode project file 2573 2574 * WTF.xcodeproj/project.pbxproj: 2575 25762013-08-23 Oliver Hunt <oliver@apple.com> 2577 2578 Support in memory compression of rarely used data 2579 https://bugs.webkit.org/show_bug.cgi?id=120143 2580 2581 Reviewed by Gavin Barraclough. 2582 2583 Adds a set of utility functions to wrap the use of zlib over a generic 2584 type or a Vector<> as well as adding CompressibleVector that wraps 2585 either a Vector<> or compressed data. 2586 2587 * GNUmakefile.list.am: 2588 * WTF.pro: 2589 * WTF.vcxproj/WTF.vcxproj: 2590 * WTF.xcodeproj/project.pbxproj: 2591 * wtf/CMakeLists.txt: 2592 * wtf/CheckedArithmetic.h: 2593 * wtf/Compression.cpp: Added. 2594 (WTF::zAlloc): 2595 (WTF::zFree): 2596 (WTF::GenericCompressedData::create): 2597 (WTF::GenericCompressedData::decompress): 2598 * wtf/Compression.h: Added. 2599 (WTF::GenericCompressedData::compressedSize): 2600 (WTF::GenericCompressedData::originalSize): 2601 (WTF::GenericCompressedData::GenericCompressedData): 2602 (WTF::CompressedVector::create): 2603 (WTF::CompressedVector::decompress): 2604 (WTF::CompressedVector::size): 2605 (WTF::CompressibleVector::CompressibleVector): 2606 (WTF::CompressibleVector::shrinkToFit): 2607 (WTF::CompressibleVector::size): 2608 (WTF::CompressibleVector::operator[]): 2609 (WTF::CompressibleVector::at): 2610 (WTF::CompressibleVector::begin): 2611 (WTF::CompressibleVector::end): 2612 (WTF::CompressibleVector::data): 2613 (WTF::CompressibleVector::decompressIfNecessary): 2614 26152013-08-21 Commit Queue <commit-queue@webkit.org> 2616 2617 Unreviewed, rolling out r154416. 2618 http://trac.webkit.org/changeset/154416 2619 https://bugs.webkit.org/show_bug.cgi?id=120147 2620 2621 Broke Windows builds (Requested by rniwa on #webkit). 2622 2623 * WTF.vcxproj/WTFGenerated.make: 2624 * WTF.vcxproj/build-generated-files.sh: 2625 26262013-08-21 Alex Christensen <achristensen@apple.com> 2627 2628 <https://webkit.org/b/120137> Separating Win32 and Win64 builds. 2629 2630 Reviewed by Brent Fulgham. 2631 2632 * WTF.vcxproj/WTFGenerated.make: 2633 Pass PlatformArchitecture as a command line parameter to bash scripts. 2634 * WTF.vcxproj/build-generated-files.sh: 2635 Use PlatformArchitecture from command line to determine which object directory to use (obj32 or obj64). 2636 26372013-08-21 Allan Sandfeld Jensen <allan.jensen@digia.com> 2638 2639 Disable maybe-uninitialized warning in GCC 4.8 2640 https://bugs.webkit.org/show_bug.cgi?id=119835 2641 2642 Reviewed by Anders Carlsson. 2643 2644 Disable the maybe-uninitialized warning. 2645 2646 * wtf/Compiler.h: 2647 26482013-08-20 Alex Christensen <achristensen@apple.com> 2649 2650 Use PlatformArchitecture to distinguish between 32-bit and 64-bit builds on Windows. 2651 https://bugs.webkit.org/show_bug.cgi?id=119512 2652 2653 Reviewed by Brent Fulgham. 2654 2655 * WTF.vcxproj/WTFGeneratedCommon.props: 2656 Replaced obj32, bin32, and lib32 with macros for 64-bit build. 2657 26582013-08-20 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> 2659 2660 <https://webkit.org/b/120056> [GTK][ARM] enable DFG_JIT 2661 2662 Reviewed by Martin Robinson. 2663 2664 Enable DFG_JIT in GTK+ platform for ARM/Thumb architecture 2665 2666 * wtf/Platform.h: 2667 26682013-08-19 Ryosuke Niwa <rniwa@webkit.org> 2669 2670 <https://webkit.org/b/120049> Delete code for Snow Leopard 2671 2672 Reviewed by Benjamin Poulain. 2673 2674 * wtf/FastMalloc.cpp: 2675 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 2676 * wtf/FeatureDefines.h: 2677 * wtf/Platform.h: 2678 26792013-08-19 Joseph Pecoraro <pecoraro@apple.com> 2680 2681 <https://webkit.org/b/120036> [iOS] Upstream Source/WTF Xcode project for iOS 2682 2683 Reviewed by David Kilzer. 2684 2685 Include iOS only WebCoreThread.* files in an ios group, and clean up 2686 the included files a bit. 2687 2688 * WTF.xcodeproj/project.pbxproj: 2689 * wtf/ios/WebCoreThread.cpp: 2690 * wtf/ios/WebCoreThread.h: 2691 26922013-08-19 Joseph Pecoraro <pecoraro@apple.com> 2693 2694 <https://webkit.org/b/119905> [iOS] Upstream Source/WTF 2695 2696 Reviewed by Benjamin Poulain. 2697 2698 Upstream iOS WebKit Source/WTF. 2699 2700 * Configurations/Base.xcconfig: 2701 JavaScriptCore.framework is a public framework. 2702 2703 * wtf/Assertions.h: 2704 Define an export macro for iOS projects just including <wtf/Assertions.h>. 2705 2706 * wtf/Platform.h: 2707 * wtf/FeatureDefines.h: 2708 iOS ENABLE and USE defines. 2709 2710 * wtf/MainThread.h: 2711 * wtf/mac/MainThreadMac.mm: 2712 (WTF::initializeApplicationUIThreadIdentifier): 2713 (WTF::initializeWebThreadIdentifier): 2714 (WTF::canAccessThreadLocalDataForThread): 2715 * wtf/WeakPtr.h: 2716 (WTF::WeakReference::get): 2717 (WTF::WeakReference::clear): 2718 Shared WebThread and MainThread access to thread local data. 2719 2720 * wtf/WTFThreadData.cpp: 2721 (WTF::WTFThreadData::WTFThreadData): 2722 Shared WebThread and MainThread identifier tables. 2723 2724 * wtf/ThreadSpecific.h: 2725 (WTF::::replace): 2726 Used later on so that WebThread can share the MainThread's thread global data. 2727 2728 * wtf/text/StringStatics.cpp: 2729 (WTF::AtomicString::init): 2730 When USE(WEB_THREAD) assert AtomicString::init is initialized on the realMainThread. 2731 2732 * wtf/unicode/CharacterNames.h: 2733 * wtf/unicode/icu/UnicodeIcu.h: 2734 (WTF::Unicode::hasLineBreakingPropertyComplexContextOrIdeographic): 2735 Minor iOS constants and functions used later by WebCore. 2736 27372013-08-16 Arunprasad Rajkumar <arurajku@cisco.com> 2738 2739 <https://webkit.org/b/119785> Replace currentTime() with monotonicallyIncreasingTime() in WebCore 2740 2741 Reviewed by Alexey Proskuryakov. 2742 2743 WTF::currentTime() is prone to DST changes and NTP adjustments, so use 2744 WTF::monotonicallyIncreasingTime() to measure elapsed time. 2745 2746 * wtf/CurrentTime.h: 2747 (WTF::monotonicallyIncreasingTimeMS): Added mille second version of monotonic time API. 2748 27492013-08-15 Filip Pizlo <fpizlo@apple.com> 2750 2751 refCount() of a StringImpl could be zero if it's static; in that case we shouldn't report extra memory cost 2752 https://bugs.webkit.org/show_bug.cgi?id=119870 2753 2754 Reviewed by Mark Hahnenberg. 2755 2756 * wtf/text/StringImpl.h: 2757 (WTF::StringImpl::costDuringGC): 2758 (WTF::StringImpl::isStatic): 2759 (WTF::StringImpl::bufferOwnership): 2760 27612013-08-14 Filip Pizlo <fpizlo@apple.com> 2762 2763 Typed arrays should be rewritten 2764 https://bugs.webkit.org/show_bug.cgi?id=119064 2765 2766 Reviewed by Oliver Hunt. 2767 2768 - Added the notion of a reference counted object that can be marked Deferred, 2769 which is like a special-purpose upref. 2770 2771 - Added a common byte flipper. 2772 2773 Automake work courtesy of Zan Dobersek <zdobersek@igalia.com>. 2774 2775 * GNUmakefile.list.am: 2776 * WTF.xcodeproj/project.pbxproj: 2777 * wtf/DeferrableRefCounted.h: Added. 2778 (WTF::DeferrableRefCountedBase::ref): 2779 (WTF::DeferrableRefCountedBase::hasOneRef): 2780 (WTF::DeferrableRefCountedBase::refCount): 2781 (WTF::DeferrableRefCountedBase::isDeferred): 2782 (WTF::DeferrableRefCountedBase::DeferrableRefCountedBase): 2783 (WTF::DeferrableRefCountedBase::~DeferrableRefCountedBase): 2784 (WTF::DeferrableRefCountedBase::derefBase): 2785 (WTF::DeferrableRefCountedBase::setIsDeferredBase): 2786 (WTF::DeferrableRefCounted::deref): 2787 (WTF::DeferrableRefCounted::setIsDeferred): 2788 (WTF::DeferrableRefCounted::DeferrableRefCounted): 2789 (WTF::DeferrableRefCounted::~DeferrableRefCounted): 2790 * wtf/FlipBytes.h: Added. 2791 (WTF::needToFlipBytesIfLittleEndian): 2792 (WTF::flipBytes): 2793 (WTF::flipBytesIfLittleEndian): 2794 27952013-08-14 Julien Brianceau <jbrianceau@nds.com> 2796 2797 DFG_JIT implementation for sh4 architecture. 2798 https://bugs.webkit.org/show_bug.cgi?id=119737 2799 2800 Reviewed by Oliver Hunt. 2801 2802 * wtf/Platform.h: 2803 28042013-08-13 Arunprasad Rajkumar <arurajku@cisco.com> 2805 2806 [WTF] [JSC] Replace currentTime() with monotonicallyIncreasingTime() in all possible places 2807 https://bugs.webkit.org/show_bug.cgi?id=119762 2808 2809 Reviewed by Geoffrey Garen. 2810 2811 * wtf/MainThread.cpp: 2812 (WTF::dispatchFunctionsFromMainThread): 2813 28142013-08-12 Ragner Magalhaes <ranger.n@samsung.com> 2815 2816 Broken build with build-webkit --no-webgl 2817 https://bugs.webkit.org/show_bug.cgi?id=119272 2818 2819 Reviewed by Alexandru Chiculita. 2820 2821 CSS_SHADERS requires WEBGL enabled. 2822 Add error message to dependency failure. 2823 2824 * wtf/FeatureDefines.h: 2825 28262013-08-12 Joseph Pecoraro <pecoraro@apple.com> 2827 2828 [iOS] isMainThread implementation with USE(WEB_THREAD) 2829 https://bugs.webkit.org/show_bug.cgi?id=119644 2830 2831 Reviewed by Benjamin Poulain. 2832 2833 On iOS isMainThread() means that the current thread is either the 2834 MainThread or WebThread and the current thread has the WebThreadLock. 2835 2836 * wtf/ios/WebCoreThread.cpp: Added. 2837 * wtf/ios/WebCoreThread.h: Added. 2838 * wtf/mac/MainThreadMac.mm: 2839 (WTF::isMainThread): 2840 28412013-08-11 Carlos Garcia Campos <cgarcia@igalia.com> 2842 2843 Unreviewed. Fix make distcheck. 2844 2845 * GNUmakefile.list.am: Add missing header file. 2846 28472013-08-09 Christophe Dumez <ch.dumez@sisa.samsung.com> 2848 2849 Make atob() throw an InvalidCharacterError on excess padding characters 2850 https://bugs.webkit.org/show_bug.cgi?id=118898 2851 2852 Reviewed by Darin Adler. 2853 2854 Add a Base64FailOnInvalidCharacterOrExcessPadding value to the Base64DecodePolicy 2855 enumeration so that the caller can request strict padding validation in addition 2856 to strict character validation. This is needed so that we can use 2857 WTF::base64Decode() for window.atob(). 2858 2859 * wtf/text/Base64.cpp: 2860 (WTF::base64DecodeInternal): 2861 * wtf/text/Base64.h: 2862 28632013-08-07 Alex Christensen <achristensen@apple.com> 2864 2865 Fixed wrong definition for AppleWin port's WebGL after r153768. 2866 2867 Rubberstamped by Benjamin Poulain. 2868 2869 * wtf/Platform.h: Replaced WTF_USE_SURFACE with WTF_USE_GRAPHICS_SURFACE. 2870 28712013-08-04 Sam Weinig <sam@webkit.org> 2872 2873 Remove support for HTML5 MicroData 2874 https://bugs.webkit.org/show_bug.cgi?id=119480 2875 2876 Reviewed by Anders Carlsson. 2877 2878 * wtf/FeatureDefines.h: 2879 28802013-08-06 Alex Christensen <achristensen@apple.com> 2881 2882 Enabled WebGL on WinCairo port. 2883 https://bugs.webkit.org/show_bug.cgi?id=119502 2884 2885 Reviewed by Benjamin Poulain. 2886 2887 * wtf/FeatureDefines.h: Enabled WebGL. 2888 * wtf/Platform.h: Added definitions required for WebGL on Windows. 2889 28902013-08-05 Mark Rowe <mrowe@apple.com> 2891 2892 <rdar://problem/5927399> FastMalloc should support MallocStackLogging 2893 2894 Call the malloc stack logging function from within the various entry points to FastMalloc 2895 when stack logging is enabled. 2896 2897 Reviewed by Oliver Hunt and Geoff Garen. 2898 2899 * wtf/FastMalloc.cpp: 2900 Call in to MallocHook::InvokeNewHook / MallocHook::InvokeDeleteHook at the appropriate entry 2901 points to FastMalloc. The naming comes from TCMalloc's existing, unused concept of malloc hooks. 2902 (WTF::MallocHook::record): Call the stack logging function with appropriate argument types. 2903 (WTF::MallocHook::recordAllocation): Out-of-line slow path for when stack logging is enabled 2904 that calls record with the values in the right arguments. 2905 (WTF::MallocHook::recordDeallocation): Ditto. 2906 (WTF::MallocHook::init): Stack logging is enabled if the system allocator has enabled stack logging. 2907 (WTF::MallocHook::InvokeNewHook): Call recordAllocation in the unlikely event that stack logging is 2908 enabled. 2909 (WTF::MallocHook::InvokeDeleteHook): Ditto for recordDeallocation. 2910 (WTF::TCMalloc_ThreadCache::InitModule): Initialize the malloc hook. 2911 29122013-08-06 Brent Fulgham <bfulgham@apple.com> 2913 2914 [Windows] Unreviewed build correction after r153754 and r153757. 2915 2916 * wtf/MathExtras.h: 2917 (remainder): Provide implementation of C99 remainder for VS2010 (and earlier). 2918 29192013-07-23 David Farler <dfarler@apple.com> 2920 Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN 2921 https://bugs.webkit.org/show_bug.cgi?id=117762 2922 2923 Reviewed by Mark Rowe. 2924 2925 * Configurations/DebugRelease.xcconfig: 2926 Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS. 2927 29282013-08-05 Mark Rowe <mrowe@apple.com> 2929 2930 Build fix for Qt Windows. 2931 2932 * wtf/Assertions.cpp: Include StringExtras.h rather than StdLibExtras.h, since the former is where 2933 strncasecmp is declared. 2934 29352013-07-26 Mark Rowe <mrowe@apple.com> 2936 2937 Logging should be configurable using human-readable channel names rather than crazy bitmasks 2938 <http://webkit.org/b/119031> 2939 2940 Implement shared logic for initializing logging channels based on human-readable channel names in WTF, 2941 and rework the WebCore, WebKit and WebKit2 logging initialization on top of it. 2942 2943 Logging channels may now be enabled by providing a comma-separated list of channel names, with the special 2944 "all" name enabling all channels. Channel names prefixed with a leading "-" will result in the named channel 2945 being disabled. For instance, specifying "all,-history,-loading" will result in all logging channels except 2946 for history and loading being enabled. 2947 2948 For OS X developers, this also changes the name of the user defaults used to enable logging. This is done to allow 2949 the old user defaults to remain set for those people that need to switch between version of WebKit before and 2950 after this change. Where the old user default keys were WebCoreLogLevel, WebKitLogLevel and WebKit2LogLevel, 2951 the new user default keys are WebCoreLogging, WebKitLogging and WebKit2Logging. 2952 2953 For GTK developers, this changes the separator used in the WEBKIT_DEBUG environment variable to a comma for 2954 consistency with the other platforms and to enable more code sharing. 2955 2956 While doing this work I've also taken the opportunity to eliminate the need to touch multiple files when 2957 adding a new logging channel. Now only the header in the relevant project needs to be updated. 2958 2959 Reviewed by Sam Weinig. 2960 2961 * wtf/Assertions.cpp: 2962 (WTFLogChannelByName): Iterate over the provided array of log channels, returning the first whose name 2963 matches case-insensitively. 2964 (setStateOfAllChannels): Helper function to set the state of all channels to a single value. 2965 (WTFInitializeLogChannelStatesFromString): Parse a string containing a case-insensitive, comma-separated list 2966 of channel names to enable or disable, with the latter being prefixed by a "-". 2967 * wtf/Assertions.h: Update the layout of WTFLogChannel to include only the state of the channel and its name. 2968 Declare WTFLogChannelByName and WTFInitializeLogChannelStatesFromString. 2969 * wtf/RefCountedLeakCounter.cpp: Update to the new format of WTFLogChannel. 2970 29712013-08-05 Benjamin Poulain <bpoulain@apple.com> 2972 2973 Disable <meter> by default on iOS, it is enabled through the xconfig files 2974 https://bugs.webkit.org/show_bug.cgi?id=119503 2975 2976 Reviewed by Alexey Proskuryakov. 2977 2978 * wtf/FeatureDefines.h: 2979 29802013-08-05 Oliver Hunt <oliver@apple.com> 2981 2982 Move TypedArray implementation into JSC 2983 https://bugs.webkit.org/show_bug.cgi?id=119489 2984 2985 Reviewed by Filip Pizlo. 2986 2987 Remove TypedArray implementation from WTF 2988 2989 * GNUmakefile.list.am: 2990 * WTF.xcodeproj/project.pbxproj: 2991 * wtf/Forward.h: 2992 29932013-08-02 Benjamin Poulain <benjamin@webkit.org> 2994 2995 Remove a bunch of redundant checks for empty string in StringImpl 2996 https://bugs.webkit.org/show_bug.cgi?id=118768 2997 2998 Reviewed by Ryosuke Niwa. 2999 3000 The first thing done by createUninitialized() is check if the length passed 3001 is zero. Internally, there are many cases for which we know the check will never succeed. 3002 3003 Clang is usually really smart for those kind of things, but there are a few cases where 3004 the condition to avoid returning empty() is not simply a check for the length. 3005 This patch adds an internal initializer to deal with that. 3006 3007 * wtf/text/StringImpl.cpp: 3008 (WTF::StringImpl::createUninitializedInternal): 3009 (WTF::StringImpl::createUninitializedInternalNonEmpty): 3010 (WTF::StringImpl::createInternal): Create internal has a special case for null pointer 3011 for the characters. The test also check length, the second check for length cannot fail. 3012 (WTF::StringImpl::create8BitIfPossible): ditto. 3013 (WTF::StringImpl::lower): 3 of the calls cannot be reached for empty length. On an empty length, 3014 the test for (noUpper && !(ored & ~0x7F)) would have caused the function to return "this". 3015 3016 For the last createUninitialized(), there is no guarantee the realLength is not zero. 3017 3018 (WTF::StringImpl::replace): The first thing we do in replace(UChar,UChar) is check if there is anything 3019 to replace. The check for length will never succeed as there must be a character to replace at that point. 3020 * wtf/text/StringImpl.h: 3021 30222013-08-02 Mark Lam <mark.lam@apple.com> 3023 3024 Gardening: Touched a line in Platform.h to get all bots to do a clean build. 3025 3026 Not reviewed. 3027 3028 * wtf/Platform.h: 3029 30302013-08-02 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 3031 3032 Check WTF::Vector size with '0' inline capacity 3033 https://bugs.webkit.org/show_bug.cgi?id=119397 3034 3035 Reviewed by Andreas Kling. 3036 3037 Putting in place the compile assertion that had been removed with r153514. 3038 3039 * wtf/SizeLimits.cpp: 3040 30412013-07-26 Mark Rowe <mrowe@apple.com> 3042 3043 <http://webkit.org/b/119169> RetainPtr should support ARC for Objective-C objects. 3044 3045 While RetainPtr is not necessary under ARC, having it available makes it easier to transition 3046 existing code from manual retain / release to ARC. 3047 3048 Under ARC, the object member of RetainPtr is treated as a strong reference by the compiler. 3049 This means that merely assigning to the member variable is sufficient to retain the object, 3050 and clearing the member variable is sufficient to release it. We still need to explicitly 3051 CFRetain / CFRelease CoreFoundation types so the explicit calls to these functions are 3052 moved in to helper functions and overloading is used to have the Objective-C object versions 3053 of them be no-ops under ARC. 3054 3055 Reviewed by Anders Carlsson. 3056 3057 * wtf/RetainPtr.h: 3058 (WTF::retain): Continue to always CFRetain / CFRelease CoreFoundation objects. Only CFRetain / CFRelease 3059 Objective-C objects when using manual retain / release. 3060 (WTF::release): Ditto. 3061 (WTF::adoptNSReference): Adopting references will be handled automatically by the compiler 3062 when possible under ARC by eliminating redundant retain / release pairs. 3063 (WTF::RetainPtr::ImplicitConversionToBoolIsNotAllowed): A new method that exists only to be used by the 3064 conversion to the unspecified bool type. 3065 (WTF::RetainPtr::operator UnspecifiedBoolType): Switch to using a pointer to a member function as the 3066 unspecified bool type to avoid warnings from the compiler when casting Objective-C object types under ARC. 3067 3068 (WTF::RetainPtr::RetainPtr): Switch to our retain / release helper functions. 3069 (WTF::RetainPtr::~RetainPtr): Ditto. 3070 (WTF::::RetainPtr): Ditto. 3071 (WTF::::clear): Ditto. 3072 (WTF::=): Ditto. 3073 (WTF::adoptCF): Annotate the argument with CF_RELEASES_ARGUMENT on both the declaration and the definition. 3074 (WTF::adoptNS): Ditto for NS_RELEASES_ARGUMENT. 3075 30762013-08-01 Mark Rowe <mrowe@apple.com> 3077 3078 <rdar://problem/14235491> FastMalloc zone enumerator responding to MALLOC_PTR_REGION_RANGE_TYPE with individual allocations 3079 3080 Teach PageMapMemoryUsageRecorder::recordPendingRegions to only record data of the type that it's asked for. 3081 This also fixes the vmmap output to associate some regions with the FastMalloc malloc zone that were previously 3082 associated with it only via the VM tag, meaning they were incorrectly being omitted from the malloc statistics 3083 section of the report. 3084 3085 Reviewed by Dan Bernstein. 3086 3087 * wtf/FastMalloc.cpp: 3088 (WTF::PageMapMemoryUsageRecorder::recordPendingRegions): Report the individual allocations only when requested. Add 3089 the ability to report the regions containing pointers separately from the allocations. 3090 30912013-08-01 Mark Rowe <mrowe@apple.com> 3092 3093 <rdar://problem/14528244> False-positive leaks from FastMalloc. 3094 3095 A logic error in the page map enumeration code within FastMalloc could result in a subset of the memory regions 3096 owned by FastMalloc being skipped by the malloc zone enumeration code used by leaks and other performance tools. 3097 If the only reference to an allocated object lived within one of the skipped memory regions, leaks would believe 3098 it had been leaked since it would not find any references to the object. 3099 3100 The logic error manifested when a FastMalloc span owned a region of memory that crossed a 16MB address space boundary, 3101 and when there was one or more other spans immediately after it in the address space. Crossing the 16MB address space 3102 boundary means that the start and end points of the span are in different leaf nodes of the page map trie, and the 3103 code within the page map's visitValues method didn't correctly account this case when skipping to the end of the span 3104 after visiting it. It would resume iterating from the start of the next leaf node rather than continuing to skip values 3105 until the end of the span was passed. The value representing the end of the span would then be processed as if it were 3106 the start of a new span, and more values would be skipped even though they may contain actual spans. 3107 3108 The solution is to rework the algorithm used in visitValues so that it will skip the correct number of values even when 3109 some of the values are in different leaf nodes. This is a more involved change than it may seem since it's also necessary 3110 to deal with the case where a memory region spans two separate root nodes, which can happen if the region happens to cross 3111 a 64GB boundary in the address space. 3112 3113 Reviewed by Geoff Garen. 3114 3115 * wtf/TCPageMap.h: 3116 (TCMalloc_PageMap3::visitValues): Use a single loop to iterate, with the loop index being the key in to the page map in the 3117 same form as used by get and set. This allows us to correctly deal with the index being skipped to a different intermediate or 3118 root node as a result of visiting a span that crosses a 16MB boundary in memory. 3119 (TCMalloc_PageMap2::visitValues): Ditto, but without having to deal with intermediate nodes. 3120 31212013-08-01 Ruth Fong <ruth_fong@apple.com> 3122 3123 [Forms: color] <input type='color'> popover color well implementation 3124 <rdar://problem/14411008> and https://bugs.webkit.org/show_bug.cgi?id=119356 3125 3126 Reviewed by Benjamin Poulain. 3127 3128 * wtf/FeatureDefines.h: Added and enabled INPUT_TYPE_COLOR_POPOVER. 3129 31302013-08-01 Simon Fraser <simon.fraser@apple.com> 3131 3132 REGRESSION(r145592): AutodrainedPool.h. RunLoopTimer.h, SchedulePair.h are being copied into the wrong location 3133 https://bugs.webkit.org/show_bug.cgi?id=112833 3134 3135 Reviewed by Sam Weinig. 3136 3137 AutodrainedPool.h and SchedulePair.h should just be project headers, not 3138 private headers, so they get copied into <build dir>/usr/local/include/wtf 3139 not <build dir>/usr/local/include 3140 3141 * WTF.xcodeproj/project.pbxproj: 3142 31432013-07-31 Ruth Fong <ruth_fong@apple.com> 3144 3145 <input type=color> Mac UI behaviour 3146 <rdar://problem/10269922> and https://bugs.webkit.org/show_bug.cgi?id=61276 3147 3148 Reviewed by Brady Eidson. 3149 3150 * wtf/FeatureDefines.h: Enabled INPUT_TYPE_COLOR on Mac port. 3151 31522013-07-31 Andreas Kling <akling@apple.com> 3153 3154 Shrink Vectors with inline capacity. 3155 <http://webkit.org/b/119295> 3156 <rdar://problem/14598360> 3157 3158 Reviewed by Anders Carlsson. 3159 3160 Pack Vector::m_size next to VectorBufferBase::m_capacity so there's no space wasted 3161 on padding when sizeof(T) >= 8. Since m_size is not conceptually part of the buffer, 3162 I just using'ed it into Vector. 3163 3164 * wtf/SizeLimits.cpp: 3165 * wtf/Vector.h: 3166 (WTF::VectorBufferBase::VectorBufferBase): 3167 (WTF::VectorBuffer::VectorBuffer): 3168 (WTF::Vector::Vector): 3169 (WTF::::Vector): 3170 31712013-07-30 Patrick Gansterer <paroga@webkit.org> 3172 3173 Move WindowsExtras.h from WebCore to WTF 3174 https://bugs.webkit.org/show_bug.cgi?id=118125 3175 3176 Reviewed by Anders Carlsson. 3177 3178 Move it to WTF to be able to use the functions in WTF too. 3179 3180 * wtf/WindowsExtras.h: Renamed from Source/WebCore/platform/win/WindowsExtras.h. 3181 (WTF::getRegistryValue): 3182 (WTF::getWindowPointer): 3183 (WTF::setWindowPointer): 3184 * wtf/win/MainThreadWin.cpp: 3185 (WTF::initializeMainThreadPlatform): 3186 31872013-07-29 Carlos Garcia Campos <cgarcia@igalia.com> 3188 3189 Unreviewed. Fix make distcheck. 3190 3191 * GNUmakefile.list.am: Add missing files to compilation. 3192 31932013-07-29 Mark Rowe <mrowe@apple.com> 3194 3195 <rdar://problem/14528244> Tons of FastMalloc leaks reported by leaks of objects that have already been deallocated 3196 3197 Reviewed by Sam Weinig. 3198 3199 * wtf/FastMalloc.cpp: 3200 (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): Mark objects in the transfer cache as being free. 3201 32022013-07-29 Zan Dobersek <zdobersek@igalia.com> 3203 3204 Reintroduce convenience CheckedInt*, CheckedUint* types 3205 https://bugs.webkit.org/show_bug.cgi?id=119213 3206 3207 Reviewed by Oliver Hunt. 3208 3209 Reintroduce CheckedInt* and CheckedUint* types that were previously provided for convenience 3210 through the CheckedInt header that was removed in r153095. The types are now based on the 3211 Checked class, using the RecordOverflow class as the overflow handler. 3212 3213 * wtf/CheckedArithmetic.h: 3214 32152013-07-27 Ryosuke Niwa <rniwa@webkit.org> 3216 3217 REGRESSION(r153380): Can't open messages on Gmail 3218 https://bugs.webkit.org/show_bug.cgi?id=119165 3219 3220 Reviewed by Andreas Kling. 3221 3222 This bug was caused by r153380. The bug doesn't reproduce as long as WebKit is built by clang 4.2 and later 3223 or final is disabled (it could be clang 4.1 and later but we don't have information about that). 3224 3225 Fix the bug by disabling final on earlier versions of clang. Unfortunately we can only check versions of 3226 Apple clang since __clang_major__ and __clang_minor__ are vendor dependent. 3227 3228 * wtf/Compiler.h: 3229 32302013-07-26 Oliver Hunt <oliver@apple.com> 3231 3232 ASSERT failure in wtf/CheckedBoolean.h line 43 on Windows 3233 https://bugs.webkit.org/show_bug.cgi?id=119170 3234 3235 Reviewed by Michael Saboff. 3236 3237 Added a copy constructor to CheckedBoolean. 3238 3239 * wtf/CheckedBoolean.h: 3240 (CheckedBoolean::CheckedBoolean): 3241 32422013-07-25 Brent Fulgham <bfulgham@apple.com> 3243 3244 [Windows] Unreviewed build fix. 3245 3246 * WTF.vcxproj/WTF.vcxproj: Add missing SixCharacterHash.h,.cpp files. 3247 * WTF.vcxproj/WTF.vcxproj.filters: Ditto. 3248 * wtf/NumberOfCores.h: Add export macro to numberOfProcessorCores. 3249 * wtf/PrintStream.h: Add export macro to dumpCharacter. 3250 * wtf/SixCharacterHash.h: Add export macro to sixCharacterHashStringToInteger 3251 and integerToSixCharacterHashString. 3252 * wtf/text/CString.h: Add export macro to hash and equal methods. 3253 (WTF::CStringHash::hash): Add export macro. 3254 32552013-07-25 peavo@outlook.com <peavo@outlook.com> 3256 3257 [Windows] Provide ASM implemenation of 8-bit compare-and-swap 3258 https://bugs.webkit.org/show_bug.cgi?id=119084 3259 3260 Reviewed by Brent Fulgham. 3261 3262 * wtf/Atomics.h: 3263 (WTF::weakCompareAndSwap): Add a 32-bit X86 Assembly path for 3264 Windows build. 3265 32662013-07-25 Brent Fulgham <bfulgham@apple.com> 3267 3268 [Windows] Unreviewed build fix. 3269 3270 * WTF.vcxproj/WTF.vcxproj: Add missing CompilationThread.h,.cpp 3271 * WTF.vcxproj/WTF.vcxproj.filters: Ditto. 3272 32732013-07-25 Michael Brüning <michael.bruning@digia.com> 3274 3275 Fix Windows build after r153134. 3276 https://bugs.webkit.org/show_bug.cgi?id=119090 3277 3278 Reviewed by Oliver Hunt. 3279 3280 Add USE(PTHREADS) guards around pthread specific code 3281 for now. This will cause isCompilationThread to always 3282 return false on non pthread platforms such as Windows. 3283 3284 We might be able to use the Windows one-time initialization 3285 for this, but this is only available from Windows Vista on. 3286 3287 * wtf/CompilationThread.cpp: 3288 (WTF::initializeCompilationThreads): 3289 32902013-07-25 Allan Sandfeld Jensen <allan.jensen@digia.com> 3291 3292 Fix windows build after FTL upstream 3293 3294 Unreviewed build fix. 3295 3296 * wtf/Atomics.h: 3297 (WTF::weakCompareAndSwap): 3298 32992013-07-25 Ryuan Choi <ryuan.choi@samsung.com> 3300 3301 Unreviewed, build fix on the EFL port. 3302 3303 * wtf/CMakeLists.txt: Added SixCharacterHash.cpp 3304 33052013-07-25 Gabor Rapcsanyi <rgabor@webkit.org> 3306 3307 Unreviewed, build fix on the Qt port. 3308 3309 * WTF.pro: Add additional build files for the FTL. 3310 33112013-07-25 Zan Dobersek <zdobersek@igalia.com> 3312 3313 Unreviewed, further GTK build fixing. 3314 3315 * GNUmakefile.am: Make libWTF.la depend on any changes made to the build targets list. 3316 * GNUmakefile.list.am: Add SixCharacterHash source files to the build. 3317 33182013-07-25 Csaba Osztrogonác <ossy@webkit.org> 3319 3320 [GTK] Similar fix to r153304. 3321 3322 * GNUmakefile.list.am: 3323 33242013-07-25 Grzegorz Czajkowski <g.czajkowski@samsung.com> 3325 3326 Build break in debug after r153134: StringImpl.h:640: undefined reference to `WTF::isCompilationThread() 3327 https://bugs.webkit.org/show_bug.cgi?id=119077 3328 3329 Reviewed by Christophe Dumez. 3330 3331 * wtf/CMakeLists.txt: 3332 Added CompilationThread.{h/cpp}. 3333 33342013-07-24 Filip Pizlo <fpizlo@apple.com> 3335 3336 fourthTier: DFG IR dumps should be easier to read 3337 https://bugs.webkit.org/show_bug.cgi?id=119050 3338 3339 Reviewed by Mark Hahnenberg. 3340 3341 Added support for dumping values within a context. By default, if you say 3342 print(inContext(value, context)) it calls value.dumpInContext(out, context) 3343 instead of value.dump(out). 3344 3345 Hoisted the support for six-character hashes out of JSC::CodeBlockHash into 3346 WTF, in the form of SixCharacterHash.h. 3347 3348 Added a helper for creating dump contexts where the inContext() dump will 3349 just use a short string hash to "name" the object being dumped, and then 3350 will print out the full dumps in an endnote to your dump. 3351 3352 Added support for using CString as a hashtable key. 3353 3354 * WTF.xcodeproj/project.pbxproj: 3355 * wtf/PrintStream.h: 3356 (WTF): 3357 (ValueInContext): 3358 (WTF::ValueInContext::ValueInContext): 3359 (WTF::ValueInContext::dump): 3360 (WTF::inContext): 3361 * wtf/SixCharacterHash.cpp: Added. 3362 (WTF): 3363 (WTF::sixCharacterHashStringToInteger): 3364 (WTF::integerToSixCharacterHashString): 3365 * wtf/SixCharacterHash.h: Added. 3366 (WTF): 3367 * wtf/StringHashDumpContext.h: Added. 3368 (WTF): 3369 (StringHashDumpContext): 3370 (WTF::StringHashDumpContext::StringHashDumpContext): 3371 (WTF::StringHashDumpContext::getID): 3372 (WTF::StringHashDumpContext::dumpBrief): 3373 (WTF::StringHashDumpContext::brief): 3374 (WTF::StringHashDumpContext::isEmpty): 3375 (WTF::StringHashDumpContext::dump): 3376 * wtf/text/CString.cpp: 3377 (WTF::CString::hash): 3378 (WTF): 3379 (WTF::operator<): 3380 (WTF::CStringHash::equal): 3381 * wtf/text/CString.h: 3382 (WTF::CString::CString): 3383 (CString): 3384 (WTF::CString::isHashTableDeletedValue): 3385 (WTF): 3386 (WTF::CStringHash::hash): 3387 (CStringHash): 3388 33892013-07-21 Filip Pizlo <fpizlo@apple.com> 3390 3391 fourthTier: DFG Nodes should be able to abstractly tell you what they read and what they write 3392 https://bugs.webkit.org/show_bug.cgi?id=118910 3393 3394 Reviewed by Sam Weinig. 3395 3396 Fix compile goof in sortedListDump(). 3397 3398 * wtf/ListDump.h: 3399 (WTF::sortedListDump): 3400 34012013-07-16 Filip Pizlo <fpizlo@apple.com> 3402 3403 fourthTier: NaturalLoops should be able to quickly answer questions like "what loops own this basic block" 3404 https://bugs.webkit.org/show_bug.cgi?id=118750 3405 3406 Reviewed by Mark Hahnenberg. 3407 3408 Add a utility function for inserting an element into a vector that has bounded size, 3409 and where the insertion causes things to drop off the end. 3410 3411 * wtf/StdLibExtras.h: 3412 (WTF): 3413 (WTF::insertIntoBoundedVector): 3414 34152013-07-12 Filip Pizlo <fpizlo@apple.com> 3416 3417 fourthTier: DFG should have an SSA form for use by FTL 3418 https://bugs.webkit.org/show_bug.cgi?id=118338 3419 3420 Reviewed by Mark Hahnenberg. 3421 3422 - Extend variadicity of PrintStream and dataLog. 3423 3424 - Give HashSet the ability to add a span of things. 3425 3426 - Give HashSet the ability to == another HashSet. 3427 3428 - Note FIXME's in HashTable concerning copying performance, that affects 3429 the way that the DFG now uses HashSets and HashMaps. 3430 3431 - Factor out the bulk-insertion logic of JSC::DFG::InsertionSet into 3432 WTF::Insertion, so that it can be used in more places. 3433 3434 - Create a dumper for lists and maps. 3435 3436 * WTF.xcodeproj/project.pbxproj: 3437 * wtf/DataLog.h: 3438 (WTF): 3439 (WTF::dataLog): 3440 * wtf/HashSet.h: 3441 (HashSet): 3442 (WTF): 3443 (WTF::::add): 3444 (WTF::=): 3445 * wtf/HashTable.h: 3446 (WTF::::HashTable): 3447 (WTF::=): 3448 * wtf/Insertion.h: Added. 3449 (WTF): 3450 (Insertion): 3451 (WTF::Insertion::Insertion): 3452 (WTF::Insertion::index): 3453 (WTF::Insertion::element): 3454 (WTF::Insertion::operator<): 3455 (WTF::executeInsertions): 3456 * wtf/ListDump.h: Added. 3457 (WTF): 3458 (ListDump): 3459 (WTF::ListDump::ListDump): 3460 (WTF::ListDump::dump): 3461 (MapDump): 3462 (WTF::MapDump::MapDump): 3463 (WTF::MapDump::dump): 3464 (WTF::listDump): 3465 (WTF::sortedListDump): 3466 (WTF::lessThan): 3467 (WTF::mapDump): 3468 (WTF::sortedMapDump): 3469 * wtf/PrintStream.h: 3470 (PrintStream): 3471 (WTF::PrintStream::print): 3472 34732013-07-02 Filip Pizlo <fpizlo@apple.com> 3474 3475 Unreviewed, fix 32-bit build. 3476 3477 * wtf/Platform.h: 3478 34792013-07-02 Filip Pizlo <fpizlo@apple.com> 3480 3481 fourthTier: FTL should use the equivalent of llvm opt -O2 by default 3482 https://bugs.webkit.org/show_bug.cgi?id=118311 3483 3484 Reviewed by Mark Hahnenberg. 3485 3486 * wtf/LLVMHeaders.h: 3487 34882013-06-27 Filip Pizlo <fpizlo@apple.com> 3489 3490 fourthTier: JSC's disassembly infrastructure should be able to disassemble the code that LLVM generates 3491 https://bugs.webkit.org/show_bug.cgi?id=118148 3492 3493 Reviewed by Anders Carlsson. 3494 3495 We now use LLVM for two things: disassembler and FTL. Separate out the question 3496 of whether we have LLVM (HAVE(LLVM)) from whether we want to use the LLVM 3497 disassembler (USE(LLVM_DISASSEMBLER)) and whether we enable the FTL 3498 (ENABLE(FTL_JIT)). 3499 3500 Also move the cruft for including LLVM headers into WTF since now we use it in 3501 a bunch of places, not all related to FTL. There's no obvious place to put that 3502 file in JSC so I put it in WTF. 3503 3504 * WTF.xcodeproj/project.pbxproj: 3505 * wtf/LLVMHeaders.h: Copied from Source/JavaScriptCore/ftl/FTLLLVMHeaders.h. 3506 * wtf/Platform.h: 3507 35082013-06-25 Filip Pizlo <fpizlo@apple.com> 3509 3510 fourthTier: DFG should support switch_string 3511 https://bugs.webkit.org/show_bug.cgi?id=117967 3512 3513 Reviewed by Sam Weinig. 3514 3515 Make it possible to compare a RefPtr<StringImpl> and a StringImpl* without 3516 having to ref the StringImpl. 3517 3518 * wtf/text/StringHash.h: 3519 (WTF::StringHash::equal): 3520 35212013-06-24 Filip Pizlo <fpizlo@apple.com> 3522 3523 fourthTier: Count external memory usage towards heap footprint 3524 https://bugs.webkit.org/show_bug.cgi?id=117948 3525 3526 Reviewed by Geoffrey Garen. 3527 3528 Expose some functionality needed for properly measuring StringImpl footprint. 3529 3530 * wtf/Atomics.h: 3531 (WTF::weakCompareAndSwapSize): 3532 (WTF): 3533 * wtf/MathExtras.h: 3534 (divideRoundedUp): 3535 * wtf/text/StringImpl.h: 3536 (WTF::StringImpl::cost): 3537 (StringImpl): 3538 (WTF::StringImpl::costDuringGC): 3539 (WTF::StringImpl::refCount): 3540 35412013-06-23 Filip Pizlo <fpizlo@apple.com> 3542 3543 fourthTier: DFG should optimize identifier string equality 3544 https://bugs.webkit.org/show_bug.cgi?id=117920 3545 3546 Reviewed by Sam Weinig. 3547 3548 Note that this ChangeLog was supposed to be committed in r151890. 3549 3550 Expose the IsIdentifier bit to the JIT. 3551 3552 * wtf/text/StringImpl.h: 3553 (WTF::StringImpl::flagIsIdentifier): 3554 35552013-06-18 Filip Pizlo <fpizlo@apple.com> 3556 3557 fourthTier: DFG should have switch_char 3558 https://bugs.webkit.org/show_bug.cgi?id=117710 3559 3560 Reviewed by Michael Saboff. 3561 3562 I wanted to be able to say stringImpl->at(index), and now I can! 3563 3564 Also made it possible to convert a UChar to a utf8 CString without 3565 allocating a StringImpl. 3566 3567 * wtf/text/StringImpl.cpp: 3568 (WTF::StringImpl::utf8Impl): 3569 (WTF): 3570 (WTF::StringImpl::utf8ForCharacters): 3571 (WTF::StringImpl::utf8ForRange): 3572 * wtf/text/StringImpl.h: 3573 (StringImpl): 3574 (WTF::StringImpl::at): 3575 (WTF::StringImpl::operator[]): 3576 35772013-06-15 Filip Pizlo <fpizlo@apple.com> 3578 3579 fourthTier: Add CFG simplification for Switch 3580 https://bugs.webkit.org/show_bug.cgi?id=117677 3581 3582 Reviewed by Mark Hahnenberg. 3583 3584 * wtf/TriState.h: 3585 * wtf/text/StringImpl.h: 3586 35872013-06-15 Filip Pizlo <fpizlo@apple.com> 3588 3589 Printing a StringImpl* should really guard against NULL 3590 https://bugs.webkit.org/show_bug.cgi?id=117675 3591 3592 Reviewed by Mark Hahnenberg. 3593 3594 * wtf/PrintStream.cpp: 3595 (WTF::printInternal): 3596 35972013-06-11 Filip Pizlo <fpizlo@apple.com> 3598 3599 fourthTier: DFG should support op_in and it should use patching to make it fast 3600 https://bugs.webkit.org/show_bug.cgi?id=117385 3601 3602 Reviewed by Geoffrey Garen. 3603 3604 Now if you pass a null StringImpl* then something will still get printed instead 3605 of crashing. I figure that this is broadly useful for debug code, and I make use 3606 of it in the JSC portion of this patch. 3607 3608 * wtf/PrintStream.cpp: 3609 (WTF::printInternal): 3610 36112013-06-09 Filip Pizlo <fpizlo@apple.com> 3612 3613 Unreviewed, fix build. On some compilers the automatic coercion from WTF::String to NSString* 3614 causes operator[] to appear ambiguous. One way around this is to make WTF::String behave like 3615 most of our other classes: at(unsigned) is always a valid synonym for operator[](unsigned). 3616 3617 * wtf/text/WTFString.h: 3618 (WTF::String::at): 3619 (WTF::String::operator[]): 3620 36212013-06-08 Filip Pizlo <fpizlo@apple.com> 3622 3623 fourthTier: Recursive deadlock in DFG::ByteCodeParser 3624 https://bugs.webkit.org/show_bug.cgi?id=117376 3625 3626 Reviewed by Mark Hahnenberg. 3627 3628 I've often wanted to leave a lock early. Now I have that power! 3629 3630 * wtf/Locker.h: 3631 (WTF::Locker::Locker): 3632 (WTF::Locker::~Locker): 3633 (Locker): 3634 (WTF::Locker::unlockEarly): 3635 (WTF::Locker::lock): 3636 36372013-05-27 Filip Pizlo <fpizlo@apple.com> 3638 3639 It should be possible to record heap operations (both FastMalloc and JSC GC) 3640 https://bugs.webkit.org/show_bug.cgi?id=116848 3641 3642 Reviewed by Mark Hahnenberg. 3643 3644 * WTF.xcodeproj/project.pbxproj: 3645 * wtf/DataLog.cpp: 3646 (WTF): 3647 (WTF::initializeLogFileOnce): 3648 * wtf/FastMalloc.cpp: 3649 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 3650 * wtf/Platform.h: 3651 36522013-05-21 Filip Pizlo <fpizlo@apple.com> 3653 3654 fourthTier: DFG should be able to run on a separate thread 3655 https://bugs.webkit.org/show_bug.cgi?id=112839 3656 3657 Reviewed by Geoffrey Garen. 3658 3659 * wtf/ByteSpinLock.h: 3660 Make it non-copyable. We previously had bugs where we used ByteSpinLock as a locker. 3661 Clearly that's bad. 3662 3663 * wtf/MetaAllocatorHandle.h: 3664 Make it thread-safe ref-counted, since we may now be passing them between the 3665 concurrent JIT thread and the main thread. 3666 3667 * wtf/Vector.h: 3668 (WTF::Vector::takeLast): 3669 I've wanted this method for ages, and now I finally added. 3670 36712013-04-30 Filip Pizlo <fpizlo@apple.com> 3672 3673 fourthTier: DFG tries to ref/deref StringImpls in a ton of places 3674 https://bugs.webkit.org/show_bug.cgi?id=115300 3675 3676 Reviewed by Geoffrey Garen. 3677 3678 Make it possible to do more things directly to StringImpl*'s, including being 3679 able to directly do utf8 conversion on a substring without creating the 3680 substring first. 3681 3682 Add assertions to StringImpl that it isn't being ref/deref'd from the 3683 compilation thread. 3684 3685 * wtf/PrintStream.cpp: 3686 (WTF::printInternal): 3687 (WTF): 3688 * wtf/PrintStream.h: 3689 (WTF): 3690 (WTF::printInternal): 3691 * wtf/StringPrintStream.h: 3692 (WTF): 3693 (WTF::toCString): 3694 * wtf/text/StringImpl.cpp: 3695 (WTF::StringImpl::utf8ForRange): 3696 (WTF::StringImpl::utf8): 3697 (WTF): 3698 * wtf/text/StringImpl.h: 3699 (StringImpl): 3700 (WTF::StringImpl::hasAtLeastOneRef): 3701 (WTF::StringImpl::ref): 3702 (WTF::StringImpl::deref): 3703 37042013-04-29 Filip Pizlo <fpizlo@apple.com> 3705 3706 fourthTier: String::utf8() should also be available as StringImpl::utf8() so that you don't have to ref() a StringImpl just to get its utf8() 3707 https://bugs.webkit.org/show_bug.cgi?id=115393 3708 3709 Reviewed by Geoffrey Garen. 3710 3711 * WTF.xcodeproj/project.pbxproj: 3712 * wtf/text/ConversionMode.h: Added. 3713 (WTF): 3714 * wtf/text/StringImpl.cpp: 3715 (WTF): 3716 (WTF::putUTF8Triple): 3717 (WTF::StringImpl::utf8): 3718 * wtf/text/StringImpl.h: 3719 (StringImpl): 3720 * wtf/text/WTFString.cpp: 3721 (WTF): 3722 (WTF::String::utf8): 3723 * wtf/text/WTFString.h: 3724 (String): 3725 37262013-07-16 Oliver Hunt <oliver@apple.com> 3727 3728 Merge dfgFourthTier r149301 3729 3730 2013-04-28 Filip Pizlo <fpizlo@apple.com> 3731 3732 fourthTier: ASSERT that commonly used not-thread-safe methods in the runtime are not being called during compilation 3733 https://bugs.webkit.org/show_bug.cgi?id=115297 3734 3735 Reviewed by Geoffrey Garen. 3736 3737 Taught WTF the notion of compilation threads. This allows all parts of our stack 3738 to assert that we're not being called from a JSC compilation thread. This is in 3739 WTF because it will probably end up being used in StringImpl and WTFString. 3740 3741 * WTF.xcodeproj/project.pbxproj: 3742 * wtf/CompilationThread.cpp: Added. 3743 (WTF): 3744 (WTF::initializeCompilationThreadsOnce): 3745 (WTF::initializeCompilationThreads): 3746 (WTF::isCompilationThread): 3747 (WTF::exchangeIsCompilationThread): 3748 * wtf/CompilationThread.h: Added. 3749 (WTF): 3750 (CompilationScope): 3751 (WTF::CompilationScope::CompilationScope): 3752 (WTF::CompilationScope::~CompilationScope): 3753 (WTF::CompilationScope::leaveEarly): 3754 37552013-07-16 Oliver Hunt <oliver@apple.com> 3756 3757 Merge dfgFourthTier r148836 3758 3759 2013-04-21 Filip Pizlo <fpizlo@apple.com> 3760 3761 fourthTier: It should be possible to query WatchpointSets, and add Watchpoints, even if the compiler is running in another thread 3762 https://bugs.webkit.org/show_bug.cgi?id=114909 3763 3764 Reviewed by Oliver Hunt. 3765 3766 Harden our notions of memory fences, now that we're doing racy algorithms. 3767 3768 * wtf/Atomics.h: 3769 (WTF): 3770 (WTF::compilerFence): 3771 (WTF::armV7_dmb): 3772 (WTF::armV7_dmb_st): 3773 (WTF::loadLoadFence): 3774 (WTF::loadStoreFence): 3775 (WTF::storeLoadFence): 3776 (WTF::storeStoreFence): 3777 (WTF::memoryBarrierAfterLock): 3778 (WTF::memoryBarrierBeforeUnlock): 3779 (WTF::x86_mfence): 3780 37812013-07-16 Oliver Hunt <oliver@apple.com> 3782 3783 Merge dfgFourthTier r148804 3784 3785 2013-04-20 Filip Pizlo <fpizlo@apple.com> 3786 3787 fourthTier: value profiles and array profiles should be thread-safe enough to be accessible in a concurrent compilation thread 3788 https://bugs.webkit.org/show_bug.cgi?id=114906 3789 3790 Reviewed by Oliver Hunt. 3791 3792 Add ability to abstract whether or not the CodeBlock requires locking at all, 3793 since some platforms may not support the byte spin-locking and/or may not want 3794 to, if they turn off concurrent JIT. 3795 3796 * WTF.xcodeproj/project.pbxproj: 3797 * wtf/ByteSpinLock.h: 3798 * wtf/NoLock.h: Added. 3799 (WTF): 3800 (NoLock): 3801 (WTF::NoLock::lock): 3802 (WTF::NoLock::unlock): 3803 (WTF::NoLock::isHeld): 3804 * wtf/Platform.h: 3805 38062013-04-17 Filip Pizlo <fpizlo@apple.com> 3807 3808 fourthTier: all inline caches should thread-safe enough to allow a concurrent compilation thread to read them safely 3809 https://bugs.webkit.org/show_bug.cgi?id=114762 3810 3811 Reviewed by Mark Hahnenberg. 3812 3813 Implemented a new spinlock that is optimized for compactness, by using just a byte. 3814 This will be useful as we start using fine-grained locking on a bunch of places. 3815 3816 At some point I'll make these byte-sized spinlocks into adaptive mutexes, but for 3817 now I think it's fine to do the evil thing and use spinning particularly since we 3818 only use them for short critical sections. 3819 3820 * WTF.xcodeproj/project.pbxproj: 3821 * wtf/Atomics.h: 3822 (WTF): 3823 (WTF::weakCompareAndSwap): 3824 * wtf/ByteSpinLock.h: Added. 3825 (WTF): 3826 (ByteSpinLock): 3827 (WTF::ByteSpinLock::ByteSpinLock): 3828 (WTF::ByteSpinLock::lock): 3829 (WTF::ByteSpinLock::unlock): 3830 (WTF::ByteSpinLock::isHeld): 3831 * wtf/ThreadingPrimitives.h: 3832 (WTF::pauseBriefly): 3833 (WTF): 3834 38352013-04-12 Filip Pizlo <fpizlo@apple.com> 3836 3837 fourthTier: FTL should have OSR exit 3838 https://bugs.webkit.org/show_bug.cgi?id=113623 3839 3840 Reviewed by Oliver Hunt. 3841 3842 Finally make toCString() somewhat variadic. 3843 3844 * wtf/StringPrintStream.h: 3845 (WTF): 3846 (WTF::toCString): 3847 38482013-03-31 Filip Pizlo <fpizlo@apple.com> 3849 3850 https://bugs.webkit.org/show_bug.cgi?id=113656 3851 Fix Sam's nits. 3852 3853 Unreviewed. 3854 3855 Forgot to land these as part of http://trac.webkit.org/changeset/147299. 3856 3857 * wtf/MathExtras.h: 3858 (isGreaterThanNonZeroPowerOfTwo): 3859 38602013-03-29 Filip Pizlo <fpizlo@apple.com> 3861 3862 fourthTier: FTL JIT should be able run some simple function 3863 https://bugs.webkit.org/show_bug.cgi?id=113481 3864 3865 Reviewed by Geoffrey Garen. 3866 3867 * wtf/Platform.h: 3868 38692013-07-22 Benjamin Poulain <benjamin@webkit.org> 3870 3871 String::lower() - Skip to slow path on the first failure 3872 https://bugs.webkit.org/show_bug.cgi?id=118885 3873 3874 Reviewed by Andreas Kling. 3875 3876 In the 8 bits case, we don't need to know the state of the full string before changing characters 3877 to their lowercase variant. 3878 Just fail immediately and start transforming characters from the point of failure. 3879 3880 This avoid reading the string twice when the uppercase character is not at the end of the string. 3881 3882 * wtf/text/StringImpl.cpp: 3883 (WTF::StringImpl::lower): 3884 38852013-07-22 Brent Fulgham <bfulgham@apple.com> 3886 3887 [Windows] Unreviewed build fix. 3888 3889 * WTF.vcxproj/WTFGenerated.make: Stop triggering a "Build All" when things have not changed. 3890 38912013-07-19 Alex Christensen <achristensen@apple.com> 3892 3893 Added x64 configuration to Visual Studio build. 3894 https://bugs.webkit.org/show_bug.cgi?id=118888 3895 3896 Reviewed by Brent Fulgham. 3897 3898 * WTF.vcxproj/WTF.vcxproj: 3899 * WTF.vcxproj/WTF.vcxproj.filters: 3900 * WTF.vcxproj/WTFGenerated.vcxproj: 3901 39022013-07-18 Benjamin Poulain <benjamin@webkit.org> 3903 3904 Fix the build after r152881 3905 3906 * wtf/text/StringImpl.cpp: 3907 (WTF::StringImpl::lower): 3908 39092013-07-18 Benjamin Poulain <benjamin@webkit.org> 3910 3911 Little cleaning of StringImpl::lower() and StringImpl::upper() for ARM 3912 https://bugs.webkit.org/show_bug.cgi?id=118831 3913 3914 Reviewed by Gavin Barraclough. 3915 3916 Clean lower() and upper() before trying some optimizations: 3917 -Prefix the code with the empty() case. Otherwise, each descending loop starts with 3918 a check for length == 0. 3919 -Change ored to a 32 bits registers. ARM only has 32 bits registers and access to full word. 3920 To keep the value a UChar, the compiler is adding a bunch of useless value & 0xffff in the loops. 3921 -Change the pointer based loops for index based loops. The compiler does a mighty job at optimizing 3922 those for each architecture. No need to make the code more complex. 3923 -Don't perform the check for int32 unless we need to. The only code limited to int is Unicode::toLower. 3924 3925 * wtf/text/StringImpl.cpp: 3926 (WTF::StringImpl::lower): 3927 (WTF::StringImpl::upper): 3928 39292013-07-18 Andreas Kling <akling@apple.com> 3930 3931 CodeBlock::m_argumentValueProfiles wastes a lot of memory. 3932 <http://webkit.org/b/118852> 3933 <rdar://problem/14481659> 3934 3935 Reviewed by Anders Carlsson. 3936 3937 Add Vector::resizeToFit(size), like resize() but without growth padding. 3938 3939 * wtf/Vector.h: 3940 (WTF::::resizeToFit): 3941 39422013-07-17 Benjamin Poulain <benjamin@webkit.org> 3943 3944 Add a thread safety assertion when creating an AtomicString from a StringImpl 3945 https://bugs.webkit.org/show_bug.cgi?id=118637 3946 3947 Reviewed by Sam Weinig. 3948 3949 The goal is to prevent this kind of use: 3950 -Someone create a String from a StringImpl. 3951 -At some point, the string becomes atomic. 3952 -Later, when the string only has one ref, its ownership is 'passed' to an other thread 3953 without checking String::isSafeToSendToAnotherThread(). 3954 -In the thread B, an AtomicString is created from the String. 3955 ->The AtomicString's StringImpl returned is not in the current thread string table. 3956 3957 * wtf/text/AtomicString.cpp: 3958 (WTF::AtomicString::isInAtomicStringTable): 3959 * wtf/text/AtomicString.h: 3960 (WTF::AtomicString::add): 3961 39622013-07-17 Benjamin Poulain <benjamin@webkit.org> 3963 3964 Simplify AtomicString::lower() 3965 https://bugs.webkit.org/show_bug.cgi?id=118719 3966 <rdar://problem/14452883> 3967 3968 Reviewed by Gavin Barraclough. 3969 3970 * wtf/text/AtomicString.cpp: 3971 (WTF::AtomicString::lower): Previously, the code was using a copy constructor for two path 3972 and one regular construction in another path. 3973 Just put the StringImpl where it needs to be instead. 3974 39752013-07-15 Benjamin Poulain <benjamin@webkit.org> 3976 3977 Add a threading assertion to AtomicString::remove 3978 https://bugs.webkit.org/show_bug.cgi?id=118695 3979 3980 Reviewed by Sam Weinig. 3981 3982 * wtf/text/AtomicString.cpp: 3983 (WTF::AtomicString::remove): The destructor of StringImpl remove 3984 the string from the string table if it is atomic. This needs to be done 3985 on the same thread as the one on which the string was added (otherwise the original 3986 table would keep a dangling pointer to a dead string). 3987 39882013-07-15 Benjamin Poulain <benjamin@webkit.org> 3989 3990 Minor cleaning of AtomicString::addSlowCase 3991 https://bugs.webkit.org/show_bug.cgi?id=118615 3992 3993 Reviewed by Geoffrey Garen. 3994 3995 Give the variable a proper name. 3996 Add assertions to clarify the in and out states. 3997 3998 * wtf/text/AtomicString.cpp: 3999 (WTF::AtomicString::addSlowCase): 4000 40012013-07-12 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 4002 4003 Improve StringImpl::constructInternal() method 4004 https://bugs.webkit.org/show_bug.cgi?id=118503 4005 4006 Reviewed by Benjamin Poulain. 4007 4008 StringImpl::constructInternal used 'if ()' statement to decide which constructor 4009 to invoke hence compiler had to compile both branches even though optimizer would 4010 have then removed one of those, and as the function is inline it could affect 4011 slightly the compilation time. 4012 4013 The problem is solved via template specialization. 4014 4015 * wtf/text/StringImpl.h: 4016 (WTF::LChar): 4017 (WTF::UChar): 4018 40192013-07-11 Patrick Gansterer <paroga@webkit.org> 4020 4021 Remove unused Windows CE files 4022 https://bugs.webkit.org/show_bug.cgi?id=118557 4023 4024 Reviewed by Andreas Kling. 4025 4026 * wtf/wince/FastMallocWinCE.h: Removed. 4027 * wtf/wince/MemoryManager.cpp: Removed. 4028 * wtf/wince/MemoryManager.h: Removed. 4029 40302013-07-10 Michael Brüning <michael.bruning@digia.com> 4031 4032 Workaround for x86 optimizer bug in MSVC 2012. 4033 https://bugs.webkit.org/show_bug.cgi?id=118478 4034 4035 Reviewed by Benjamin Poulain. 4036 4037 This is a workaround for a bug in the x86 MSVC 2012 optimizer. 4038 4039 The problem is that the range comparison gets optimized out when 4040 the templated inline function toASCIIUpper. Copying the methods 4041 content fixes the problem. 4042 4043 This is unfortunately not the nicest fix, but the alternative would 4044 be to turn off optimization for StringImpl::upper on the x86 MSVC 2012 4045 build, which might impact overall performance negatively. 4046 4047 * wtf/text/StringImpl.cpp: 4048 (WTF::StringImpl::upper): 4049 40502013-07-08 Carlos Garcia Campos <cgarcia@igalia.com> 4051 4052 Unreviewed. Fix make distcheck. 4053 4054 * GNUmakefile.list.am: Add missing header files. 4055 40562013-07-08 Antti Koivisto <antti@apple.com> 4057 4058 Add Deque::removeLast 4059 https://bugs.webkit.org/show_bug.cgi?id=118466 4060 4061 Reviewed by Andreas Kling. 4062 4063 Deque can remove both the first and the last element efficiently. 4064 4065 Test: TestWebKitAPI/Tests/WTF/Deque.cpp 4066 4067 * wtf/Deque.h: 4068 (WTF::::takeLast): 4069 (WTF::::removeLast): 4070 40712013-07-08 Zoltan Arvai <zarvai@inf.u-szeged.hu> 4072 4073 [Qt][Windows] Buildfix after r152426. 4074 4075 Reviewed by Csaba Osztrogonác. 4076 4077 * wtf/Platform.h: Do not include WTFHeaderDetection.h on Qt build. 4078 40792013-07-06 Benjamin Poulain <benjamin@webkit.org> 4080 4081 Fix the performance regressions introduced by r152418 4082 https://bugs.webkit.org/show_bug.cgi?id=118438 4083 4084 Reviewed by Sam Weinig. 4085 4086 * wtf/text/StringImpl.h: 4087 (WTF::equal): 4088 Looping between two arbitrary pointers prevents important loop 4089 optimizations. 4090 40912013-07-05 Brent Fulgham <bfulgham@apple.com> 4092 4093 [Windows] Unreviewed build correction. 4094 4095 * WTF.vcxproj/WTFGenerated.make: Avoid syntax error in generated 4096 file in cases where Legible Output support is not present. 4097 40982013-07-05 Brent Fulgham <bfulgham@apple.com> 4099 4100 [Windows] Unreviewed build correction. 4101 4102 * WTF.vcxproj/WTFGenerated.make: Use space (rather than double 4103 quotes) when handling the no-Legible-Output case. 4104 41052013-07-05 Brent Fulgham <bfulgham@apple.com> 4106 4107 [Windows] Identify OS-level at build-time. 4108 https://bugs.webkit.org/show_bug.cgi?id=118428 4109 4110 Reviewed by Anders Carlsson. 4111 4112 * WTF.vcxproj/WTFGenerated.make: Check for Legible Output featurs 4113 and set build environment as appropriate. 4114 * wtf/Platform.h: Activate Legible Output features if present. 4115 41162013-07-05 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 4117 4118 A lot of code duplication within StringImpl 'equal' functions 4119 https://bugs.webkit.org/show_bug.cgi?id=118415 4120 4121 Reviewed by Anders Carlsson. 4122 4123 There has been a lot of code duplication within StringImpl 'equal' functions: 4124 the whole logic was copied to every overloaded 'equal' function. 4125 Fixed now using templates and std::equal. 4126 4127 * wtf/text/StringImpl.cpp: 4128 (WTF::equalInternal): 4129 (WTF::equal): 4130 * wtf/text/StringImpl.h: 4131 (WTF::arraysEqual): 4132 (WTF::equal): 4133 41342013-07-05 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 4135 4136 Remove code duplication from StringImpl create()/reallocate() methods 4137 https://bugs.webkit.org/show_bug.cgi?id=118355 4138 4139 Reviewed by Andreas Kling. 4140 4141 StringImpl create()/reallocate() methods accepting LChar and UChar used to have 4142 duplicated code. The code duplication is removed now via used templates. 4143 4144 * wtf/text/StringImpl.cpp: 4145 (WTF::StringImpl::constructInternal): 4146 (WTF::LChar): 4147 (WTF::StringImpl::createUninitializedInternal): 4148 (WTF::StringImpl::createUninitialized): 4149 (WTF::StringImpl::reallocateInternal): 4150 (WTF::StringImpl::reallocate): 4151 (WTF::StringImpl::createInternal): 4152 (WTF::StringImpl::create): 4153 * wtf/text/StringImpl.h: 4154 41552013-07-03 Brent Fulgham <bfulgham@apple.com> 4156 4157 [Windows] Unreviewed build correction. 4158 4159 * WTF.vcxproj/copy-files.cmd: Limit path (for this file) to DOS-only to avoid 4160 the Cygwin variant of rmdir from being used. 4161 41622013-07-03 Commit Queue <commit-queue@webkit.org> 4163 4164 Unreviewed, rolling out r152356. 4165 http://trac.webkit.org/changeset/152356 4166 https://bugs.webkit.org/show_bug.cgi?id=118361 4167 4168 Broke JSCore tests (Requested by andersca on #webkit). 4169 4170 * wtf/text/StringImpl.cpp: 4171 (WTF::StringImpl::createUninitialized): 4172 (WTF::StringImpl::reallocate): 4173 (WTF::StringImpl::create): 4174 * wtf/text/StringImpl.h: 4175 41762013-07-03 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 4177 4178 Remove code duplication from StringImpl create()/reallocate() methods 4179 https://bugs.webkit.org/show_bug.cgi?id=118355 4180 4181 Reviewed by Anders Carlsson. 4182 4183 StringImpl create()/reallocate() methods accepting LChar and UChar used to have 4184 duplicated code. The code duplication is removed now via used templates. 4185 4186 * wtf/text/StringImpl.cpp: 4187 (WTF::StringImpl::constructInternal): 4188 (WTF::LChar): 4189 (WTF::StringImpl::createUninitializedInternal): 4190 (WTF::StringImpl::createUninitialized): 4191 (WTF::StringImpl::reallocateInternal): 4192 (WTF::StringImpl::reallocate): 4193 (WTF::StringImpl::createInternal): 4194 (WTF::StringImpl::create): 4195 * wtf/text/StringImpl.h: 4196 41972013-07-03 Csaba Osztrogonác <ossy@webkit.org> 4198 4199 Fix cast-align warnings in FastMalloc.cpp 4200 https://bugs.webkit.org/show_bug.cgi?id=117991 4201 4202 Reviewed by Mark Hahnenberg. 4203 4204 * wtf/FastMalloc.cpp: 4205 42062013-07-02 Geoffrey Garen <ggaren@apple.com> 4207 4208 plainText() is O(N^2) 4209 https://bugs.webkit.org/show_bug.cgi?id=118282 4210 <rdar://problem/14284360> 4211 4212 Reviewed by Alexey Proskuryakov. 4213 4214 * wtf/text/StringBuilder.cpp: 4215 (WTF::expandCapacity): Factored out this helper function to simplify 4216 some code that was duplicated in four places. 4217 4218 (WTF::StringBuilder::appendUninitializedSlow): 4219 (WTF::StringBuilder::append): Use expandCapacity(). One of the cases 4220 was not doing anything special, and so was O(N^2). 4221 4222 Also, always call expandCapacity() it in a standard way, calling 4223 capacity() first, so it's easy to tell at a glance that you got it right. 4224 42252013-07-02 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 4226 4227 Avoid code duplication inside String::append() 4228 https://bugs.webkit.org/show_bug.cgi?id=118290 4229 4230 Reviewed by Anders Carlsson. 4231 4232 The implementation of 'append(UChar)' had been repeated inside 'append(LChar)', 4233 this duplication is obviated now. 4234 4235 * wtf/text/WTFString.cpp: 4236 (WTF::String::appendInternal): 4237 (WTF::String::append): 4238 * wtf/text/WTFString.h: 4239 42402013-06-28 Anders Carlsson <andersca@apple.com> 4241 4242 Remove String::deprecatedCharactersWithNullTermination() and related code 4243 https://bugs.webkit.org/show_bug.cgi?id=118211 4244 4245 Reviewed by Benjamin Poulain. 4246 4247 Remove String::deprecatedCharactersWithNullTermination, StringImpl::createWithTerminatingNullCharacter 4248 and the s_hashFlagHasTerminatingNullCharacter flag. We no longer care about whether strings have a 4249 terminating null character. 4250 4251 * wtf/text/StringImpl.cpp: 4252 (WTF::StringImpl::createFromLiteral): 4253 (WTF::StringImpl::createWithoutCopying): 4254 (WTF::StringImpl::getData16SlowCase): 4255 (WTF::StringImpl::sizeInBytes): 4256 * wtf/text/StringImpl.h: 4257 (WTF::StringImpl::StringImpl): 4258 (WTF::StringImpl::createFromLiteral): 4259 (WTF::StringImpl::isolatedCopy): 4260 * wtf/text/WTFString.cpp: 4261 * wtf/text/WTFString.h: 4262 42632013-06-27 Anders Carlsson <andersca@apple.com> 4264 4265 Add a new String::charactersWithNullTermination() function that returns a vector 4266 https://bugs.webkit.org/show_bug.cgi?id=118155 4267 4268 Reviewed by Andreas Kling. 4269 4270 This new String::charactersWithNullTermination() function returns a new Vector<UChar> 4271 and does not modify the underlying string data. 4272 4273 * wtf/text/WTFString.cpp: 4274 (WTF::String::charactersWithNullTermination): 4275 * wtf/text/WTFString.h: 4276 42772013-06-26 Anders Carlsson <andersca@apple.com> 4278 4279 Deprecate StringImpl::charactersWithNullTermination 4280 https://bugs.webkit.org/show_bug.cgi?id=118108 4281 4282 Reviewed by Beth Dakin. 4283 4284 The optimization in String and StringImpl to keep track of whether a string 4285 has a null terminator isn't worth it; in most cases we call charactersWithNullTermination() on 4286 temporary strings which ends up copying strings anyway. 4287 4288 A better solution is to have a charactersWithNullTermination() function that returns a Vector<UChar>, 4289 which is similar to what we have for String::utf8() and String::ascii(). This will be done in a follow-up patch. 4290 4291 * wtf/text/WTFString.cpp: 4292 (WTF::String::deprecatedCharactersWithNullTermination): 4293 * wtf/text/WTFString.h: 4294 42952013-06-26 Anders Carlsson <andersca@apple.com> 4296 4297 Add JSStringCreateWithCharactersNoCopy SPI 4298 https://bugs.webkit.org/show_bug.cgi?id=118074 4299 <rdar://problem/14279905> 4300 4301 Reviewed by Geoffrey Garen. 4302 4303 * wtf/text/StringImpl.cpp: 4304 (WTF::StringImpl::createFromLiteral): 4305 Use the new ConstructWithoutCopying constructor, passing DoesHaveTerminatingNullCharacter to it. 4306 Change the other createFromLiteral overload to just call the first. 4307 4308 (WTF::StringImpl::createWithoutCopying): 4309 Add helper functions for creating strings that shouldn't copy their underlying data. 4310 4311 * wtf/text/StringImpl.h: 4312 (WTF::StringImpl::StringImpl): 4313 Rename the ConstructFromLiteralTag constructor enum to ConstructWithoutCopyingTag. Change the constructor 4314 to take an enum that states whether the string has a terminating null character or not. 4315 4316 (WTF::StringImpl::createFromLiteral): 4317 Call createWithoutCopying. 4318 4319 (WTF::StringImpl::requiresCopy): 4320 Rename this from isASCIILiteral() and make it more generic so it can handle 16-bit strings as well. 4321 4322 (WTF::StringImpl::isolatedCopy): 4323 If this string doesn't have to be copied, just create a new StringImpl object that references the current data. 4324 43252013-06-26 Jer Noble <jer.noble@apple.com> 4326 4327 Potential use-after-free after neutering AudioBuffer's underlying ArrayBuffer. 4328 https://bugs.webkit.org/show_bug.cgi?id=118040 4329 4330 Reviewed by Filip Pizlo. 4331 4332 Add support for 'unneuterable' ArrayBufferViews. Views marked as such will have their underlying 4333 ArrayBuffer objects copied rather than transferred to a new view. 4334 4335 * wtf/ArrayBuffer.cpp: 4336 (WTF::ArrayBuffer::transfer): Check whether the associated views are neuterable, and if not 4337 clone the ArrayBuffer rather than transferring it. 4338 * wtf/ArrayBuffer.h: 4339 (WTF::ArrayBufferContents::copyTo): Added. Utility function. 4340 * wtf/ArrayBufferView.cpp: 4341 (WTF::ArrayBufferView::ArrayBufferView): 4342 (WTF::ArrayBufferView::neuter): 4343 * wtf/ArrayBufferView.h: 4344 (WTF::ArrayBufferView::setNeuterable): 4345 (WTF::ArrayBufferView::isNeuterable): 4346 43472013-06-26 Brent Fulgham <bfulgham@apple.com> 4348 4349 [Windows] Enable CaptionUserPreferenceMediaAF on Windows. 4350 https://bugs.webkit.org/show_bug.cgi?id=118076 4351 4352 Reviewed by Eric Carlson. 4353 4354 * wtf/Platform.h: Enable Media Accessibility Framework in Windows build environments 4355 that support it. 4356 43572013-06-24 Roger Fong <roger_fong@apple.com> 4358 4359 Unreviewed. AppleWin build fix, followup to r151915. 4360 4361 * WTF.vcxproj/WTFProduction.props: 4362 43632013-06-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 4364 4365 HashMap: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods 4366 https://bugs.webkit.org/show_bug.cgi?id=117911 4367 4368 Reviewed by Anders Carlsson. 4369 4370 The order of the template arguments at HashMap alternate 'find', 'contains' and 4371 'add' methods is reversed so that callers can just pass the translator 4372 and let the compiler deduce input argument type. 4373 4374 Another rational is consistency with HashSet class. 4375 4376 * wtf/HashMap.h: 4377 43782013-06-24 peavo@outlook.com <peavo@outlook.com> 4379 4380 [WinCairo] WTF.dll is linking with CoreFoundation.lib in VS2010. 4381 https://bugs.webkit.org/show_bug.cgi?id=117294 4382 4383 Reviewed by Brent Fulgham. 4384 4385 WinCairo build should not use CoreFoundation. 4386 4387 * WTF.vcxproj/WTFCFLite.props: Added. 4388 * WTF.vcxproj/WTFCommon.props: Remove CoreFoundation.lib from depencency list. 4389 * WTF.vcxproj/WTFCoreFoundation.props: Added. 4390 * WTF.vcxproj/WTFDebug.props: Import WTFCoreFoundation.props for WinApple. 4391 * WTF.vcxproj/WTFDebugWinCairo.props: Import WTFCFLite.props for WinCairo. 4392 * WTF.vcxproj/WTFRelease.props: Import WTFCoreFoundation.props for WinApple. 4393 * WTF.vcxproj/WTFReleaseWinCairo.props: Import WTFCFLite.props for WinCairo. 4394 43952013-06-17 Darin Adler <darin@apple.com> 4396 4397 Sort all the Xcode project files 4398 https://bugs.webkit.org/show_bug.cgi?id=117696 4399 4400 Reviewed by Anders Carlsson. 4401 4402 * WTF.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script. 4403 44042013-06-20 Sergio Correia <sergio.correia@openbossa.org> 4405 4406 [WK2] Looping for EINTR on close() is incorrect for Linux, at least 4407 https://bugs.webkit.org/show_bug.cgi?id=117266 4408 4409 Reviewed by Darin Adler. 4410 4411 Added file UniStdExtras with a closeWithRetry() function that works around 4412 the EINTR behavior on Linux during a close() call: it closes the descriptor 4413 unconditionally even when the call is interrupted. 4414 4415 * wtf/UniStdExtras.h: Added. 4416 (WTF::closeWithRetry): Wrapper around POSIX close() that handles EINTR 4417 correctly. 4418 44192013-06-20 Mark Lam <mark.lam@apple.com> 4420 4421 Refine the StackBounds computation for Windows. 4422 https://bugs.webkit.org/show_bug.cgi?id=117854. 4423 4424 Reviewed by Brent Fulgham. 4425 4426 * wtf/StackBounds.cpp: 4427 (WTF::StackBounds::initialize): 4428 44292013-06-20 Mark Lam <mark.lam@apple.com> 4430 4431 [Windows] Undoing r150621 to roll r150600 back in as the jsc test 4432 failures have been fixed in r151808. 4433 https://bugs.webkit.org/show_bug.cgi?id=116661. 4434 4435 Reviewed by Brent Fulgham. 4436 4437 * wtf/StackBounds.cpp: 4438 (WTF::StackBounds::initialize): 4439 44402013-06-20 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 4441 4442 HashSet: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods 4443 https://bugs.webkit.org/show_bug.cgi?id=117830 4444 4445 Reviewed by Anders Carlsson. 4446 4447 The order of the template arguments at HashSet alternate 'find', 'contains' and 4448 'add' methods is reversed so that callers can just pass the translator 4449 and let the compiler deduce input argument type. 4450 4451 * wtf/HashSet.h: 4452 * wtf/text/AtomicString.cpp: 4453 (WTF::addToStringTable): 4454 (WTF::findString): 4455 44562013-06-20 Roger Fong <roger_fong@apple.com> 4457 4458 Make Windows makefile copy build output to a different folder. 4459 <rdar://problem/14219184>. 4460 4461 * WTF.vcxproj/WTF.make: 4462 44632013-06-19 Geoffrey Garen <ggaren@apple.com> 4464 4465 Remove the SegmentedVector inline segment to shrink CodeBlock by 6X 4466 https://bugs.webkit.org/show_bug.cgi?id=117808 4467 4468 Reviewed by Oliver Hunt. 4469 4470 SegmentedVector allocation isn't super hot, but we do tend to have many 4471 live SegmentedVectors at runtime, particularly in CodeBlocks, so the 4472 right tradeoff is to allocate segments out-of-line as needed. 4473 4474 This reduces startup memory usage @ google.com by about 6MB. 4475 4476 No regression on SunSpider. 4477 4478 * wtf/SegmentedVector.h: 4479 (WTF::SegmentedVector::SegmentedVector): 4480 (WTF::SegmentedVector::at): 4481 (WTF::SegmentedVector::append): 4482 (WTF::SegmentedVector::removeLast): 4483 (WTF::SegmentedVector::clear): 4484 (WTF::SegmentedVector::deleteAllSegments): No more inline segment. 4485 4486 (WTF::SegmentedVector::ensureSegmentsFor): This code used to assume 4487 that there was always a 0 segment, so the math would underflow if there 4488 were no 0 segment. I udpated the math to account for having no segments. 4489 44902013-06-19 David Kilzer <ddkilzer@apple.com> 4491 4492 BUILD FIX (r151663): Fix build for iOS WebKit 4493 4494 * wtf/text/AtomicStringTable.cpp: Include MainThread.h. 4495 (WTF::AtomicStringTable::create): Use AtomicStringTable::destroy 4496 instead of non-existent destroyAtomicStringTable function. 4497 44982013-06-18 Roger Fong <roger_fong@apple.com> 4499 4500 Replace tools32 folder with tools and update WebKit Windows solution accordingly. 4501 <rdar://problem/14118143>. 4502 4503 Rubberstamped by Brent Fulgham. 4504 4505 * WTF.vcxproj/WTF.vcxproj: 4506 * WTF.vcxproj/WTFDebug.props: 4507 * WTF.vcxproj/WTFDebugWinCairo.props: 4508 * WTF.vcxproj/WTFGenerated.vcxproj: 4509 * WTF.vcxproj/WTFGeneratedDebug.props: 4510 * WTF.vcxproj/WTFGeneratedProduction.props: 4511 * WTF.vcxproj/WTFGeneratedRelease.props: 4512 * WTF.vcxproj/WTFProduction.props: 4513 * WTF.vcxproj/WTFRelease.props: 4514 * WTF.vcxproj/WTFReleaseWinCairo.props: 4515 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py: 4516 (react_to_vsprops_changes): 4517 45182013-06-18 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 4519 4520 PackedIntVector: check template arguments at compile time 4521 https://bugs.webkit.org/show_bug.cgi?id=117737 4522 4523 Use 'COMPILE_ASSERT' instead of 'ASSERT' in PackedIntVector class 4524 constructor. 4525 4526 Reviewed by Sam Weinig. 4527 4528 * wtf/PackedIntVector.h: 4529 (WTF::PackedIntVector::PackedIntVector): 4530 45312013-06-17 Andy Estes <aestes@apple.com> 4532 4533 A static_assert() in RetainPtr.h sometimes causes the build to fail. 4534 4535 Wrap the first argument to a static_assert() in parentheses since it 4536 contains a comma, which sometimes tricks the preprocessor into thinking 4537 the macro is being passed three arguments rather than two. 4538 4539 Reviewed by Brian Weinstein. 4540 4541 * wtf/RetainPtr.h: 4542 (WTF::RetainPtr::RetainPtr): 4543 45442013-06-17 Zan Dobersek <zdobersek@igalia.com> 4545 4546 REGRESSION (r149184): Build errors in RefPtr.h when building with Clang, C++98 standard 4547 https://bugs.webkit.org/show_bug.cgi?id=116352 4548 4549 Reviewed by Anders Carlsson. 4550 4551 Use the __has_feature macro instead of the __has_extension one when detecting what features the Clang compiler 4552 that's being used is capable to provide. With the project moving onto using C++11 throughout its components, 4553 there currently exist cases where C++11-specific functionality (for instance std::move) is used despite being 4554 guarded by compiler-specific feature guards that still get enabled even when compiling in C++98 with Clang. 4555 The problematic features are enabled because they're available as C++98 language extensions by Clang. 4556 4557 Using __has_feature instead enables the feature guard only if the tested feature is actually standardized in 4558 the currently used language standard. 4559 4560 * wtf/Compiler.h: 4561 45622013-06-17 Ryosuke Niwa <rniwa@webkit.org> 4563 4564 Initialize AtomicStringTable in WTFThreadData's constructor 4565 https://bugs.webkit.org/show_bug.cgi?id=117671 4566 4567 Reviewed by Geoffrey Garen. 4568 4569 Extracted AtomicStringTable from AtomicString.cpp into AtomicStringTable.h/cpp 4570 and made WTFThreadDada::WTFThreadData create the atomic string table for the thread. 4571 4572 This eliminates a branch from stringTable() in AtomicString.cpp. 4573 4574 * GNUmakefile.list.am: 4575 * WTF.pro: 4576 * WTF.vcxproj/WTF.vcxproj: 4577 * WTF.vcxproj/WTF.vcxproj.filters: 4578 * WTF.xcodeproj/project.pbxproj: 4579 * wtf/CMakeLists.txt: 4580 * wtf/WTFThreadData.cpp: 4581 (WTF::WTFThreadData::WTFThreadData): 4582 * wtf/text/AtomicString.cpp: 4583 (WTF::stringTable): 4584 * wtf/text/AtomicStringTable.cpp: Added. 4585 (WTF::AtomicStringTable::create): 4586 (WTF::AtomicStringTable::destroy): 4587 * wtf/text/AtomicStringTable.h: Added. 4588 (WTF::AtomicStringTable::table): 4589 45902013-06-17 Roger Fong <roger_fong@apple.com> 4591 4592 Modify Windows makefiles to copy some bin output into Program Files. 4593 https://bugs.webkit.org/show_bug.cgi?id=117714. 4594 <rdar://problem/14179054> 4595 4596 Reviewed by Brent Fulgham. 4597 4598 * WTF.vcxproj/WTF.make: 4599 46002013-06-17 Grzegorz Czajkowski <g.czajkowski@samsung.com> 4601 4602 Unreviewed, rolling out r151632. 4603 http://trac.webkit.org/changeset/151632 4604 https://bugs.webkit.org/show_bug.cgi?id=117585 4605 4606 Debug build error ASSERT(WTF_USE_GRAMMAR_CHECKING) for non MAC 4607 platforms 4608 4609 * wtf/Platform.h: 4610 46112013-06-14 Grzegorz Czajkowski <g.czajkowski@samsung.com> 4612 4613 Context menu grammar checking items are available when GRAMMAR_CHECKING macro is off 4614 https://bugs.webkit.org/show_bug.cgi?id=117585 4615 4616 Reviewed by Anders Carlsson. 4617 4618 Enable GRAMMAR_CHECKING for WebKit ports that use/implement it. 4619 4620 * wtf/Platform.h: 4621 46222013-06-14 Patrick Gansterer <paroga@webkit.org> 4623 4624 Introduce USE(WINGDI) for the Windows port 4625 https://bugs.webkit.org/show_bug.cgi?id=116138 4626 4627 Reviewed by Ryosuke Niwa. 4628 4629 Using USE(WINGDI) instead of OS(WINCE) will allow us to 4630 compile the GDI based Windows port on WinNT too. 4631 4632 * wtf/Platform.h: 4633 46342013-06-13 Ryosuke Niwa <rniwa@webkit.org> 4635 4636 Remove LiteralIdentifierTable 4637 https://bugs.webkit.org/show_bug.cgi?id=117613 4638 4639 Reviewed by Geoffrey Garen. 4640 4641 Removed LiteralIdentifierTable since it doesn't seem to have any perf. impact now. 4642 4643 * wtf/WTFThreadData.h: 4644 46452013-06-13 Brent Fulgham <bfulgham@apple.com> 4646 4647 [WinCairo] Correct FeatureDefines.h Default for ENABLE_VIEW_MODE_CSS_MEDIA 4648 https://bugs.webkit.org/show_bug.cgi?id=114396 4649 4650 Reviewed by Dean Jackson. 4651 4652 * wtf/FeatureDefines.h: The WinCairo port does not (currently) support Media elements, 4653 so make sure we do not enable this feature by default for that port. 4654 46552013-06-13 Brent Fulgham <bfulgham@apple.com> 4656 4657 [Windows] Unreviewed gardening. 4658 4659 * WTF.vcxproj/WTF.vcxproj: Add FeatureDefines.h to visible files. 4660 * WTF.vcxproj/WTF.vcxproj.filters: Ditto. 4661 46622013-06-13 Gyuyoung Kim <gyuyoung.kim@samsung.com> 4663 4664 Optimize String::fromUTF8 for ASCII 4665 https://bugs.webkit.org/show_bug.cgi?id=117586 4666 4667 Reviewed by Brent Fulgham. 4668 4669 From Blink r152243 by <abarth@chromium.org> 4670 4671 Current String::fromUTF8() implementation converts 8 bit ASCII character into 16 bit. 4672 Instead of always trying to convert into a 16 bit buffer, we can add a call to charactersAreAllASCII. 4673 In the common case when characters are ASCII, we directly copy it into an 8 bit string buffer. 4674 4675 * wtf/text/WTFString.cpp: 4676 (WTF::String::fromUTF8): 4677 46782013-06-12 Brent Fulgham <bfulgham@apple.com> 4679 4680 [Windows] Activate supported C++11 Features for VS2010 4681 https://bugs.webkit.org/show_bug.cgi?id=117569 4682 4683 Reviewed by Anders Carlsson. 4684 4685 * wtf/Compiler.h: Turn on rvalue references and static_assert 4686 when compiling with VS2010 (or newer) 4687 46882013-06-07 Roger Fong <roger_fong@apple.com> 4689 4690 Unreviewed. Makefile fix. Copy WTF.dll over as well. 4691 4692 * WTF.vcxproj/WTF.make: 4693 46942013-06-07 Commit Queue <commit-queue@webkit.org> 4695 4696 Unreviewed, rolling out r151318. 4697 http://trac.webkit.org/changeset/151318 4698 https://bugs.webkit.org/show_bug.cgi?id=117356 4699 4700 Broke Windows Release Build (Requested by bfulgham on 4701 #webkit). 4702 4703 * WTF.vcxproj/WTF.vcxproj: 4704 * WTF.vcxproj/WTFCommon.props: 4705 * WTF.vcxproj/WTFCoreFoundation.props: Removed. 4706 * WTF.vcxproj/WTFDebug.props: 4707 * WTF.vcxproj/WTFRelease.props: 4708 47092013-06-07 peavo@outlook.com <peavo@outlook.com> 4710 4711 [WinCairo] WTF.dll is linking with CoreFoundation.lib in VS2010. 4712 https://bugs.webkit.org/show_bug.cgi?id=117294 4713 4714 Reviewed by Darin Adler. 4715 4716 WinCairo build should not use CoreFoundation. 4717 4718 * WTF.vcxproj/WTF.vcxproj: Exclude unneeded file from WinCairo build. 4719 * WTF.vcxproj/WTFCommon.props: Removed CoreFoundation.lib from common props. 4720 * WTF.vcxproj/WTFCoreFoundation.props: Added. 4721 * WTF.vcxproj/WTFDebug.props: Inherit from WTFCoreFoundations.props. 4722 * WTF.vcxproj/WTFRelease.props: Inherit from WTFCoreFoundations.props. 4723 47242013-06-06 Roger Fong <roger_fong@apple.com> 4725 4726 Unreviewed. Fix typo with winmm linker input. 4727 4728 * WTF.vcxproj/WTFCommon.props: 4729 47302013-06-05 Benjamin Poulain <bpoulain@apple.com> 4731 4732 WebSQL forces 16-bit strings 4733 https://bugs.webkit.org/show_bug.cgi?id=116935 4734 4735 Reviewed by Darin Adler. 4736 4737 Merge chromium 49c9632ac135f6f06e623a7a81d9da1f6bb7196f. 4738 https://chromium.googlesource.com/chromium/blink/+/49c9632ac135f6f06e623a7a81d9da1f6bb7196f 4739 4740 * wtf/text/StringImpl.cpp: 4741 (WTF::StringImpl::create8BitIfPossible): 4742 * wtf/text/StringImpl.h: 4743 (WTF::lengthOfNullTerminatedString): 4744 * wtf/text/WTFString.cpp: 4745 (WTF::String::String): 4746 47472013-06-03 Roger Fong <roger_fong@apple.com> 4748 4749 Nuke VS2005 files from the tree. 4750 <rdar://problem/14042021>. 4751 4752 Rubberstamped by Brent Fulgham. 4753 4754 * WTF.vcproj: Removed. 4755 * WTF.vcproj/WTF.make: Removed. 4756 * WTF.vcproj/WTF.sln: Removed. 4757 * WTF.vcproj/WTF.vcproj: Removed. 4758 * WTF.vcproj/WTFCommon.vsprops: Removed. 4759 * WTF.vcproj/WTFDebug.vsprops: Removed. 4760 * WTF.vcproj/WTFDebugAll.vsprops: Removed. 4761 * WTF.vcproj/WTFDebugCairoCFLite.vsprops: Removed. 4762 * WTF.vcproj/WTFGenerated.make: Removed. 4763 * WTF.vcproj/WTFGenerated.vcproj: Removed. 4764 * WTF.vcproj/WTFGeneratedCommon.vsprops: Removed. 4765 * WTF.vcproj/WTFGeneratedDebug.vsprops: Removed. 4766 * WTF.vcproj/WTFGeneratedDebugAll.vsprops: Removed. 4767 * WTF.vcproj/WTFGeneratedDebugCairoCFLite.vsprops: Removed. 4768 * WTF.vcproj/WTFGeneratedProduction.vsprops: Removed. 4769 * WTF.vcproj/WTFGeneratedRelease.vsprops: Removed. 4770 * WTF.vcproj/WTFGeneratedReleaseCairoCFLite.vsprops: Removed. 4771 * WTF.vcproj/WTFPostBuild.cmd: Removed. 4772 * WTF.vcproj/WTFPreBuild.cmd: Removed. 4773 * WTF.vcproj/WTFProduction.vsprops: Removed. 4774 * WTF.vcproj/WTFRelease.vsprops: Removed. 4775 * WTF.vcproj/WTFReleaseCairoCFLite.vsprops: Removed. 4776 * WTF.vcproj/build-generated-files.sh: Removed. 4777 * WTF.vcproj/copy-files.cmd: Removed. 4778 * WTF.vcproj/work-around-vs-dependency-tracking-bugs.py: Removed. 4779 47802013-06-03 Patrick Gansterer <paroga@webkit.org> 4781 4782 Unreviewed WinCE build fix after r150833. 4783 4784 * wtf/DateMath.cpp: 4785 (WTF::calculateDSTOffset): 4786 47872013-06-03 Gyuyoung Kim <gyuyoung.kim@samsung.com> 4788 4789 [WTF] Add OwnArrayPtr vectortraits template 4790 https://bugs.webkit.org/show_bug.cgi?id=117131 4791 4792 Reviewed by Darin Adler. 4793 4794 To support Vector<OwnArrayPtr<P>>, which will be used by EFL port. 4795 4796 * wtf/VectorTraits.h: 4797 47982013-05-31 Rafael Brandao <rafael.lobo@openbossa.org> 4799 4800 Fix double hash lookup in PageMapMemoryUsageRecorder::visit 4801 https://bugs.webkit.org/show_bug.cgi?id=117071 4802 4803 Reviewed by Andreas Kling. 4804 4805 * wtf/FastMalloc.cpp: 4806 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 4807 48082013-05-31 Brent Fulgham <bfulgham@apple.com> 4809 4810 [Windows] Speculative build fix for pre-VS2010 compilers 4811 4812 * wtf/Platform.h: Only treat WTF as DLL for VS2010 builds 4813 48142013-05-31 Zan Dobersek <zdobersek@igalia.com> 4815 4816 Move MD5, SHA1 unit tests from WTF to TestWebKitAPI 4817 https://bugs.webkit.org/show_bug.cgi?id=116445 4818 4819 Reviewed by Benjamin Poulain. 4820 4821 Remove the MD5 and SHA1 test cases from the WTF code. The same cases are now built and run under TestWebKitAPI. 4822 4823 * wtf/MD5.cpp: 4824 (WTF::MD5::MD5): 4825 * wtf/SHA1.cpp: 4826 (WTF::SHA1::SHA1): 4827 48282013-05-30 Roger Fong <roger_fong@apple.com> 4829 4830 Another unreviewed build fix for Mac. 4831 4832 * wtf/text/WTFString.h: 4833 (WTF::String::fromUTF8WithLatin1Fallback): 4834 48352013-05-30 Roger Fong <roger_fong@apple.com> 4836 4837 Unreviewed build fix for Mac. 4838 4839 * wtf/OSAllocator.h: 4840 * wtf/text/WTFString.h: 4841 (WTF::String::fromUTF8): 4842 48432013-05-30 Roger Fong <roger_fong@apple.com> 4844 4845 Get rid of JavaScript exports file on AppleWin port. 4846 https://bugs.webkit.org/show_bug.cgi?id=117050. 4847 4848 Reviewed by Darin Adler. 4849 4850 This requires turning WTF into a shared library and adding the WTF_EXPORT_PRIVATE to some methods where it was missed. 4851 4852 * WTF.vcxproj/WTF.vcxproj: 4853 * WTF.vcxproj/WTFCommon.props: 4854 * wtf/DateMath.h: 4855 * wtf/ExportMacros.h: 4856 * wtf/FilePrintStream.h: 4857 * wtf/OSAllocator.h: 4858 * wtf/PageAllocationAligned.h: 4859 * wtf/Platform.h: 4860 * wtf/PrintStream.h: 4861 * wtf/StackBounds.h: 4862 * wtf/StringPrintStream.h: 4863 * wtf/ThreadSpecific.h: 4864 * wtf/WTFThreadData.h: 4865 * wtf/dtoa/cached-powers.h: 4866 * wtf/dtoa/double-conversion.h: 4867 * wtf/text/WTFString.h: 4868 * wtf/unicode/Collator.h: 4869 * wtf/unicode/UTF8.h: 4870 48712013-05-29 Kent Tamura <tkent@chromium.org> 4872 4873 Remove ENABLE_INPUT_MULTIPLE_FIELDS_UI. 4874 https://bugs.webkit.org/show_bug.cgi?id=116796 4875 4876 Reviewed by Ryosuke Niwa. 4877 4878 * wtf/FeatureDefines.h: 4879 48802013-05-27 Gavin Barraclough <barraclough@apple.com> 4881 4882 String(new Date(2010,10,1)) is wrong in KRAT, YAKT 4883 https://bugs.webkit.org/show_bug.cgi?id=106750 4884 4885 Reviewed by Darin Adler. 4886 4887 First part of a fix, simplfy date handling code, instead of operating separately 4888 on the UTC-standard and standard-DST offsets, just generate a combined UTC-local 4889 offset (this is what we actually need, and what the OS gives us). 4890 4891 * wtf/DateMath.cpp: 4892 (WTF::calculateUTCOffset): 4893 (WTF::calculateDSTOffset): 4894 - made static, now not called from outside of this file. 4895 (WTF::calculateLocalTimeOffset): 4896 - This combines the 2038 related adjustment from calculateDSTOffset with the 4897 maxUnixTime adjustment from calculateDSTOffsetSimple. Then, if HAVE(TM_GMTOFF) 4898 just call getLocalTime, if not use calculateUTCOffset/calculateDSTOffset. 4899 (WTF::parseDateFromNullTerminatedCharacters): 4900 - call calculateLocalTimeOffset instead of calculateUTCOffset/calculateDSTOffset 4901 * wtf/DateMath.h: 4902 (WTF::LocalTimeOffset::LocalTimeOffset): 4903 (LocalTimeOffset): 4904 (WTF::LocalTimeOffset::operator==): 4905 - new struct type, a tuple of UTC-local offset & isDST flag. 4906 - replaced calculateUTCOffset/calculateDSTOffset with calculateLocalTimeOffset 4907 * wtf/GregorianDateTime.cpp: 4908 (WTF::GregorianDateTime::setToCurrentLocalTime): 4909 - call calculateLocalTimeOffset instead of calculateUTCOffset/calculateDSTOffset 4910 49112013-05-27 Patrick Gansterer <paroga@webkit.org> 4912 4913 Use correct stack size on Solaris and OpenBSD 4914 https://bugs.webkit.org/show_bug.cgi?id=114978 4915 4916 Recommit after wrong rollout in r150621. 4917 4918 * wtf/StackBounds.cpp: 4919 (WTF): 4920 (WTF::StackBounds::initialize): 4921 49222013-05-27 Patrick Gansterer <paroga@webkit.org> 4923 4924 Use ICU_INCLUDE_DIRS in BlackBerry CMake files 4925 https://bugs.webkit.org/show_bug.cgi?id=116210 4926 4927 Reviewed by Rob Buis. 4928 4929 Set and use the ICU_INCLUDE_DIRS variable to avoid 4930 duplicated adding of the ICU include directory. 4931 4932 * wtf/PlatformBlackBerry.cmake: 4933 49342013-05-27 Ádám Kallai <kadam@inf.u-szeged.hu> 4935 4936 [Qt] Enable parallel GC. Probably it has been fixed in r131791. 4937 https://bugs.webkit.org/show_bug.cgi?id=90957 4938 4939 Reviewed by Csaba Osztrogonác. 4940 4941 * wtf/Platform.h: 4942 49432013-05-26 Patrick Gansterer <paroga@webkit.org> 4944 4945 [WINCE] Add wtf_bsearch() 4946 https://bugs.webkit.org/show_bug.cgi?id=116528 4947 4948 Reviewed by Darin Adler. 4949 4950 r149833 introduced usage of ::bsearch(), which does not exist on Windwos CE. 4951 Add our own implementation of this function as wtf_bsearch and define 4952 bsearch as wtf_bsearch to fix compilation on Windwos CE. 4953 4954 * wtf/StdLibExtras.h: 4955 (wtf_bsearch): 4956 49572013-05-26 Kent Tamura <tkent@chromium.org> 4958 4959 Remove ENABLE_CALENDAR_PICKER 4960 https://bugs.webkit.org/show_bug.cgi?id=116795 4961 4962 Reviewed by Ryosuke Niwa. 4963 4964 * wtf/FeatureDefines.h: 4965 49662013-05-24 Benjamin Poulain <bpoulain@apple.com> 4967 4968 Inline TCMalloc_Central_FreeList's RemoveRange and FetchFromSpansSafe 4969 https://bugs.webkit.org/show_bug.cgi?id=116700 4970 4971 Reviewed by Darin Adler. 4972 4973 The two functions only have one call site each. 4974 4975 * wtf/FastMalloc.cpp: 4976 (WTF::TCMalloc_Central_FreeList::RemoveRange): 4977 (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe): 4978 49792013-05-24 Filip Pizlo <fpizlo@apple.com> 4980 4981 We broke !(0/0) 4982 https://bugs.webkit.org/show_bug.cgi?id=116736 4983 4984 Reviewed by Gavin Barraclough. 4985 4986 * wtf/MathExtras.h: 4987 (isNotZeroAndOrdered): 4988 (isZeroOrUnordered): 4989 49902013-05-24 Anders Carlsson <andersca@apple.com> 4991 4992 Remove PagePopup code 4993 https://bugs.webkit.org/show_bug.cgi?id=116732 4994 4995 Reviewed by Andreas Kling. 4996 4997 Remove ENABLE_PAGE_POPUP. 4998 4999 * wtf/FeatureDefines.h: 5000 50012013-05-25 Jer Noble <jer.noble@apple.com> 5002 5003 Mac: Set the default audio buffer size to a large value for <video> elements. 5004 https://bugs.webkit.org/show_bug.cgi?id=116342 5005 5006 Reviewed by Eric Carlson. 5007 5008 * wtf/Platform.h: Add a WTF_USE_AUDIO_SESSION setting. 5009 50102013-05-23 Brent Fulgham <bfulgham@apple.com> 5011 5012 [Windows] Rolling back r150600 as it breaks the VS2010 builds. 5013 5014 * wtf/StackBounds.cpp: Rollback. 5015 50162013-05-23 Patrick Gansterer <paroga@webkit.org> 5017 5018 Use correct stack size on Solaris and OpenBSD 5019 https://bugs.webkit.org/show_bug.cgi?id=114978 5020 5021 Reviewed by Oliver Hunt. 5022 5023 Original patch by David Hill <david@wmol.com>. 5024 5025 Use stack_t.ss_size for getting the size of the stack. 5026 5027 * wtf/Platform.h: 5028 * wtf/StackBounds.cpp: 5029 (WTF): 5030 (WTF::StackBounds::initialize): 5031 50322013-05-23 Patrick Gansterer <paroga@webkit.org> 5033 5034 [WIN] Implement correct detection of stack size 5035 https://bugs.webkit.org/show_bug.cgi?id=116661 5036 5037 Reviewed by Oliver Hunt. 5038 5039 * wtf/StackBounds.cpp: 5040 (WTF): 5041 (WTF::StackBounds::initialize): 5042 50432013-05-22 Dean Jackson <dino@apple.com> 5044 5045 Rolling out r150555. It borked about 30 media tests. 5046 5047 * wtf/Platform.h: 5048 50492013-05-21 Anders Carlsson <andersca@apple.com> 5050 5051 Build fix. 5052 5053 * wtf/NeverDestroyed.h: 5054 (NeverDestroyed): 5055 50562013-05-20 Anders Carlsson <andersca@apple.com> 5057 5058 Add WTF::NeverDestroyed and start using it in WTF 5059 https://bugs.webkit.org/show_bug.cgi?id=116472 5060 5061 Reviewed by Benjamin Poulain. 5062 5063 NeverDestroyed is a class template that can be used for singletons and other objects that we never 5064 want to destroy. It's intended as a replacement for WTF_STATIC_LOCAL with the advantage that it doesn't 5065 fragment the heap. 5066 5067 * GNUmakefile.list.am: 5068 * WTF.vcproj/WTF.vcproj: 5069 * WTF.vcxproj/WTF.vcxproj: 5070 * WTF.vcxproj/WTF.vcxproj.filters: 5071 * WTF.xcodeproj/project.pbxproj: 5072 Add NeverDestroyed.h 5073 5074 * wtf/Compiler.h: 5075 Add a helper macro, WTF_DELETED_FUNCTION. 5076 5077 * wtf/CryptographicallyRandomNumber.cpp: 5078 Use NeverDestroyed. 5079 5080 * wtf/NeverDestroyed.h: Added. 5081 5082 * wtf/Noncopyable.h: 5083 Use WTF_DELETED_FUNCTION. 5084 5085 * wtf/text/WTFString.cpp: 5086 (WTF::emptyString): 5087 Use 5088 50892013-05-20 Zan Dobersek <zdobersek@igalia.com> 5090 5091 Use '__typeof__' keyword to avoid problems when compiling in C++11 standard compliance 5092 https://bugs.webkit.org/show_bug.cgi?id=116447 5093 5094 Reviewed by Darin Adler. 5095 5096 The 'typeof' keyword is a GNU C extension which becomes unavailable when compiling in ANSI or specific standard mode 5097 (such as -std=c++11). The '__typeof__' keyword should be used instead as it's available in all modes both under GCC and Clang. 5098 5099 * wtf/FastMalloc.cpp: 5100 (WTF): Replace the 'typeof' keyword with '__typeof__'. 5101 51022013-05-19 Anders Carlsson <andersca@apple.com> 5103 5104 Remove link prerendering code 5105 https://bugs.webkit.org/show_bug.cgi?id=116415 5106 5107 Reviewed by Darin Adler. 5108 5109 This code was only used by Chromium and is dead now. 5110 5111 * wtf/FeatureDefines.h: 5112 51132013-05-18 Patrick Gansterer <paroga@webkit.org> 5114 5115 [CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME 5116 https://bugs.webkit.org/show_bug.cgi?id=114554 5117 5118 Reviewed by Gyuyoung Kim. 5119 5120 Using variables as target names is very uncommon in CMake. 5121 The usual way to specify the name of the resulting binary 5122 is to set the OUTPUT_NAME target property. 5123 5124 * wtf/CMakeLists.txt: 5125 51262013-05-17 Andreas Kling <akling@apple.com> 5127 5128 Re-align the OS(AIX) macro... 5129 ...in the hopes that the resulting world rebuild will fix failures after r150294. 5130 5131 * wtf/Platform.h: 5132 51332013-05-17 Anders Carlsson <andersca@apple.com> 5134 5135 WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process 5136 https://bugs.webkit.org/show_bug.cgi?id=116346 5137 <rdar://problem/13852829> 5138 5139 Reviewed by Andreas Kling. 5140 5141 Add forward declaration for Function. 5142 5143 * wtf/Forward.h: 5144 51452013-05-17 Patrick Gansterer <paroga@webkit.org> 5146 5147 [CMake] Remove invalid include paths 5148 https://bugs.webkit.org/show_bug.cgi?id=116213 5149 5150 Reviewed by Gyuyoung Kim. 5151 5152 Since "${JAVASCRIPTCORE_DIR}/wtf" does not exist, it is safe 5153 to remove them from the list of include directories. 5154 5155 * wtf/PlatformEfl.cmake: 5156 * wtf/PlatformGTK.cmake: 5157 51582013-05-16 Benjamin Poulain <bpoulain@apple.com> 5159 5160 Add the symbol WTFInvokeCrashHook back for binary compatibility. 5161 5162 Reviewed by Ryosuke Niwa. 5163 5164 * wtf/Assertions.cpp: 5165 * wtf/Assertions.h: 5166 51672013-05-16 Seokju Kwon <seokju.kwon@gmail.com> 5168 5169 [CMAKE] Need to set WTF_LIBRARIES in wtf/CMakeLists.txt 5170 https://bugs.webkit.org/show_bug.cgi?id=116209 5171 5172 Reviewed by Gyuyoung Kim. 5173 5174 * wtf/CMakeLists.txt: Replace list with set. 5175 51762013-05-16 Benjamin Poulain <benjamin@webkit.org> 5177 5178 Crash properly on iOS 5179 https://bugs.webkit.org/show_bug.cgi?id=115782 5180 5181 Reviewed by Darin Adler. 5182 5183 Improve crash handling. <rdar://problem/13842771> 5184 5185 * wtf/Assertions.cpp: 5186 * wtf/Assertions.h: 5187 51882013-05-15 Ryuan Choi <ryuan.choi@samsung.com> 5189 5190 Unreviewed build fix after r150123 5191 5192 * wtf/CMakeLists.txt: 5193 51942013-05-15 Oliver Hunt <oliver@apple.com> 5195 5196 RefCountedArray needs to use vector initialisers for its backing store 5197 https://bugs.webkit.org/show_bug.cgi?id=116194 5198 5199 Reviewed by Gavin Barraclough. 5200 5201 Use VectorOperations to operate on the backing store 5202 5203 * wtf/RefCountedArray.h: 5204 (WTF::RefCountedArray::RefCountedArray): 5205 (WTF::RefCountedArray::operator=): 5206 (WTF::RefCountedArray::~RefCountedArray): 5207 52082013-05-15 Nico Weber <thakis@chromium.org> 5209 5210 WebKit doesn't support MSVS2003 any more, remove preprocessor checks for older versions. 5211 https://bugs.webkit.org/show_bug.cgi?id=116157 5212 5213 Reviewed by Anders Carlsson. 5214 5215 Also remove a gcc3.2 workaround. 5216 5217 Merges parts of these two commits by the talented Nico Weber: 5218 https://chromium.googlesource.com/chromium/blink/+/3677e2f47348daeff405a40b6f90fbdf0654c2f5 5219 https://chromium.googlesource.com/chromium/blink/+/0fcd96c448dc30be1416dcc15713c53710c1a312 5220 5221 * wtf/Alignment.h: 5222 (WTF): 5223 * wtf/Assertions.h: 5224 * wtf/Atomics.h: 5225 (WTF): 5226 * wtf/Compiler.h: 5227 * wtf/DateMath.cpp: 5228 (WTF::getLocalTime): 5229 * wtf/MathExtras.h: 5230 * wtf/RefCountedLeakCounter.h: 5231 (RefCountedLeakCounter): 5232 * wtf/StaticConstructors.h: 5233 52342013-05-15 Patrick Gansterer <paroga@webkit.org> 5235 5236 Consolidate lists in WTF CMake files 5237 https://bugs.webkit.org/show_bug.cgi?id=116142 5238 5239 Reviewed by Martin Robinson. 5240 5241 Move common files into the CMakeLists.txt to avoid duplicating the list of files. 5242 Also rebase the recently added GTK files to match the other CMake ports, since 5243 the submitted patch was based on an older version of the source tree. 5244 5245 * wtf/CMakeLists.txt: 5246 * wtf/PlatformBlackBerry.cmake: 5247 * wtf/PlatformEfl.cmake: 5248 * wtf/PlatformGTK.cmake: 5249 * wtf/PlatformWinCE.cmake: 5250 52512013-05-14 Carlos Garcia Campos <cgarcia@igalia.com> 5252 5253 Remove WTF_USE_PLATFORM_STRATEGIES 5254 https://bugs.webkit.org/show_bug.cgi?id=114431 5255 5256 Reviewed by Darin Adler. 5257 5258 * wtf/Platform.h: 5259 52602013-05-14 Carlos Garcia Campos <cgarcia@igalia.com> 5261 5262 [BlackBerry] Use requestAnimationFrame for animations 5263 https://bugs.webkit.org/show_bug.cgi?id=115896 5264 5265 Reviewed by Rob Buis. 5266 5267 * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER and 5268 WTF_USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR for BlackBerry 5269 port. 5270 52712013-05-14 Carlos Garcia Campos <cgarcia@igalia.com> 5272 5273 [BlackBerry] Implement platform strategies 5274 https://bugs.webkit.org/show_bug.cgi?id=112162 5275 5276 Reviewed by Rob Buis. 5277 5278 * wtf/Platform.h: Add BlackBerry platform to the list of platforms 5279 using platform strategies. 5280 52812013-05-13 Benjamin Poulain <benjamin@webkit.org> 5282 5283 Improve stringProtoFuncLastIndexOf for the prefix case 5284 https://bugs.webkit.org/show_bug.cgi?id=115952 5285 5286 Reviewed by Geoffrey Garen. 5287 5288 Add an optimized version of StringImpl::startsWith() for JavaScriptCore. 5289 5290 * wtf/text/StringImpl.cpp: 5291 (WTF::StringImpl::startsWith): 5292 * wtf/text/StringImpl.h: 5293 (StringImpl): 5294 (WTF::StringImpl::startsWith): 5295 * wtf/text/WTFString.h: 5296 (WTF::String::startsWith): 5297 52982013-05-13 Carlos Garcia Campos <cgarcia@igalia.com> 5299 5300 Unreviewed. Fix Qt Linux MIPS32R2 build after r149879. 5301 5302 Bring back GLIB_CHECK_VERSION for GBytes since Qt Linux MIPS32R2 5303 depends on glib 2.24.2. 5304 5305 * wtf/gobject/GRefPtr.cpp: 5306 (_GBytes): 5307 (WTF::refGPtr): 5308 (WTF::derefGPtr): 5309 53102013-05-13 Anders Carlsson <andersca@apple.com> 5311 5312 Remove UnusedParam.h 5313 https://bugs.webkit.org/show_bug.cgi?id=116029 5314 5315 Reviewed by Andreas Kling. 5316 5317 Remove UnusedParam.h, it's empty now. 5318 5319 * GNUmakefile.list.am: 5320 * WTF.pro: 5321 * WTF.vcproj/WTF.vcproj: 5322 * WTF.vcxproj/WTF.vcxproj: 5323 * WTF.vcxproj/WTF.vcxproj.filters: 5324 * WTF.xcodeproj/project.pbxproj: 5325 * wtf/CMakeLists.txt: 5326 * wtf/UnusedParam.h: Removed. 5327 53282013-05-13 Zalan Bujtas <zalan@apple.com> 5329 5330 WebProcess consuming very high CPU on linkedin.com 5331 https://bugs.webkit.org/show_bug.cgi?id=115601 5332 5333 Reviewed by Andreas Kling. 5334 5335 Disable WEB_TIMING_MINIMAL. 5336 Turn off window.performance and performance.now(). Some JS frameworks expect 5337 additional Web Timing APIs, when performance.now() is available. 5338 5339 * wtf/FeatureDefines.h: 5340 53412013-05-12 Anders Carlsson <andersca@apple.com> 5342 5343 Stop including UnusedParam.h 5344 https://bugs.webkit.org/show_bug.cgi?id=116003 5345 5346 Reviewed by Sam Weinig. 5347 5348 UnusedParam.h is empty now so there's no need to include it anymore. 5349 5350 * wtf/Atomics.h: 5351 * wtf/BoundsCheckedPointer.h: 5352 * wtf/DateMath.h: 5353 * wtf/FastMalloc.cpp: 5354 * wtf/NumberOfCores.cpp: 5355 * wtf/OSAllocator.h: 5356 * wtf/OSAllocatorPosix.cpp: 5357 * wtf/PageAllocation.h: 5358 * wtf/RefCounted.h: 5359 * wtf/TCSystemAlloc.cpp: 5360 * wtf/ThreadingPthreads.cpp: 5361 * wtf/Vector.h: 5362 * wtf/dtoa/cached-powers.cc: 5363 * wtf/dtoa/fixed-dtoa.cc: 5364 53652013-05-12 Anders Carlsson <andersca@apple.com> 5366 5367 Move UNUSED_PARAM and UNUSED_LABEL macros to Compiler.h 5368 https://bugs.webkit.org/show_bug.cgi?id=115997 5369 5370 Reviewed by Benjamin Poulain. 5371 5372 UnusedParam.h predates Compiler.h and the macros defined there should just go into Compiler.h 5373 5374 * wtf/Compiler.h: 5375 (unusedParam): 5376 * wtf/UnusedParam.h: 5377 53782013-05-12 Anders Carlsson <andersca@apple.com> 5379 5380 Remove Complex.h from WTF 5381 https://bugs.webkit.org/show_bug.cgi?id=115989 5382 5383 Reviewed by Beth Dakin. 5384 5385 Complex.h contains a typedef and a single function (that already has an equivalent in the STL). 5386 The header is used by three files in WebCore, so just use std::complex<double> and std::polar directly. 5387 5388 * GNUmakefile.list.am: 5389 * WTF.vcproj/WTF.vcproj: 5390 * WTF.vcxproj/WTF.vcxproj: 5391 * WTF.vcxproj/WTF.vcxproj.filters: 5392 * WTF.xcodeproj/project.pbxproj: 5393 * wtf/CMakeLists.txt: 5394 * wtf/Complex.h: Removed. 5395 53962013-05-11 Martin Robinson <mrobinson@igalia.com> 5397 5398 [GTK] Add a basic cmake build for WTF and JavaScriptCore 5399 https://bugs.webkit.org/show_bug.cgi?id=115967 5400 5401 Reviewed by Laszlo Gombos. 5402 5403 * wtf/PlatformGTK.cmake: Added. 5404 54052013-05-11 Martin Robinson <mrobinson@igalia.com> 5406 5407 Move defines to platform 5408 5409 [GTK] Move defines that will never be configured to Platform.h 5410 https://bugs.webkit.org/show_bug.cgi?id=115965 5411 5412 Reviewed by Andreas Kling. 5413 5414 * wtf/Platform.h: Add new defines that were previously in the autoconf header. 5415 54162013-05-12 Anders Carlsson <andersca@apple.com> 5417 5418 Simplify AutodrainedPool 5419 https://bugs.webkit.org/show_bug.cgi?id=115986 5420 5421 Reviewed by Andreas Kling. 5422 5423 Remove the ability to cycle an AutodrainedPool, as well as the iteration count. 5424 Creating and draining pools is fast enough now that we don't need to try to be clever about it. 5425 5426 * wtf/AutodrainedPool.h: 5427 (AutodrainedPool): 5428 (WTF::AutodrainedPool::AutodrainedPool): 5429 * wtf/AutodrainedPoolMac.mm: 5430 (WTF::AutodrainedPool::AutodrainedPool): 5431 54322013-05-12 Anders Carlsson <andersca@apple.com> 5433 5434 Move RemoteMemoryReader into FastMalloc.cpp 5435 https://bugs.webkit.org/show_bug.cgi?id=115985 5436 5437 Reviewed by Andreas Kling. 5438 5439 RemoteMemoryReader is only used in FastMalloc.cpp, and even had one of its member functions 5440 implemented there, so move the entire class template there and remove MallocZoneSupport.h. 5441 5442 * GNUmakefile.list.am: 5443 * WTF.pro: 5444 * WTF.vcproj/WTF.vcproj: 5445 * WTF.vcxproj/WTF.vcxproj: 5446 * WTF.vcxproj/WTF.vcxproj.filters: 5447 * WTF.xcodeproj/project.pbxproj: 5448 * wtf/CMakeLists.txt: 5449 * wtf/FastMalloc.cpp: 5450 (WTF): 5451 (PageHeapAllocator): 5452 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 5453 * wtf/MallocZoneSupport.h: Removed. 5454 54552013-05-10 Laszlo Gombos <l.gombos@samsung.com> 5456 5457 Remove USE(OS_RANDOMNESS) 5458 https://bugs.webkit.org/show_bug.cgi?id=108095 5459 5460 Reviewed by Darin Adler. 5461 5462 Remove the USE(OS_RANDOMNESS) guard as it is turned on for all 5463 ports. 5464 5465 * wtf/CryptographicallyRandomNumber.cpp: 5466 (WTF::cryptographicallyRandomValues): 5467 * wtf/CryptographicallyRandomNumber.h: 5468 * wtf/OSRandomSource.cpp: 5469 (WTF::cryptographicallyRandomValuesFromOS): 5470 * wtf/OSRandomSource.h: 5471 * wtf/Platform.h: 5472 * wtf/RandomNumber.cpp: 5473 (WTF::randomNumber): 5474 * wtf/RandomNumber.h: 5475 * wtf/RandomNumberSeed.h: 5476 (WTF::initializeRandomNumberGenerator): 5477 54782013-05-10 Carlos Garcia Campos <cgarcia@igalia.com> 5479 5480 [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs 5481 https://bugs.webkit.org/show_bug.cgi?id=115904 5482 5483 Reviewed by Martin Robinson. 5484 5485 * wtf/gobject/GRefPtr.cpp: 5486 54872013-05-09 Darin Adler <darin@apple.com> 5488 5489 RenderQuote has giant function for language to quotes map 5490 https://bugs.webkit.org/show_bug.cgi?id=115807 5491 5492 Reviewed by Anders Carlsson. 5493 5494 * wtf/unicode/CharacterNames.h: Added a couple of character names. 5495 54962013-05-08 Michael Saboff <msaboff@apple.com> 5497 5498 JSC: There should be a disassembler for ARM Thumb 2 5499 https://bugs.webkit.org/show_bug.cgi?id=115827 5500 5501 Reviewed by Filip Pizlo. 5502 5503 Added a new disassembler for ARMv7 Thumb2 instructions for use by the JSC debugging 5504 and profiling code. Enabled the disassembler for IOS bulds. 5505 5506 * wtf/Platform.h: 5507 55082013-05-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 5509 5510 Simplify RetainPtrObjectHashTraits 5511 https://bugs.webkit.org/show_bug.cgi?id=115822 5512 5513 Reviewed by Benjamin Poulain. 5514 5515 RetainPtrObjectHashTraits is inherited from SimpleClassHashTraits 5516 instead of GenericHashTraits re-using more shared functionality. 5517 5518 * wtf/RetainPtr.h: 5519 (WTF::RetainPtrObjectHashTraits::emptyValue): 5520 55212013-05-08 Anders Carlsson <andersca@apple.com> 5522 5523 Assert at compile time that we don't pass Objective-C object pointers to adoptCF 5524 https://bugs.webkit.org/show_bug.cgi?id=115823 5525 5526 Reviewed by Geoffrey Garen. 5527 5528 static_assert in adoptCF that the object passed in is not an Objective-C object. 5529 * wtf/RetainPtr.h: 5530 55312013-05-08 Anders Carlsson <andersca@apple.com> 5532 5533 Remove RetainPtr::adoptNS and RetainPtr::adoptCF 5534 https://bugs.webkit.org/show_bug.cgi?id=115817 5535 5536 Reviewed by Jessie Berlin. 5537 5538 These functions are now unused so remove them. The preferred way to create a RetainPtr with an 5539 adopted reference is to use the adoptNS/adoptCF free functions. 5540 5541 Rewrite the move assignment operators to just call CFRelease explicitly. 5542 5543 * wtf/RetainPtr.h: 5544 55452013-05-08 Anders Carlsson <andersca@apple.com> 5546 5547 Remove ThreadingNone.cpp 5548 5549 Rubber-stamped by Beth Dakin. 5550 5551 ThreadingNone.cpp is empty and not used anywhere. 5552 5553 * wtf/ThreadingNone.cpp: Removed. 5554 55552013-05-08 Anders Carlsson <andersca@apple.com> 5556 5557 Remove HashMap::deleteAllKeys 5558 https://bugs.webkit.org/show_bug.cgi?id=115806 5559 5560 Reviewed by Brent Fulgham. 5561 5562 This function was not used anywhere so let's get rid of it. 5563 5564 * wtf/HashMap.h: 5565 55662013-05-08 Eric Carlson <eric.carlson@apple.com> 5567 5568 [Mac] Inband text tracks are not in track menu on Lion 5569 https://bugs.webkit.org/show_bug.cgi?id=115740 5570 5571 Reviewed by Dean Jackson. 5572 5573 * wtf/Platform.h: AVFOUNDATION_TEXT_TRACK_SUPPORT -> AVFOUNDATION_MEDIA_SELECTION_GROUP 5574 55752013-05-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 5576 5577 HashTraits<RefPtr<P> >::peek should consider empty value 5578 https://bugs.webkit.org/show_bug.cgi?id=115799 5579 5580 Reviewed by Darin Adler. 5581 5582 HashTraits<RefPtr<P> >::peek() should consider passing of empty value which is 5583 raw pointer equal to '0', and return it right away instead of converting it to RefPtr 5584 and invoking get(). 5585 5586 * wtf/HashTraits.h: 5587 55882013-05-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 5589 5590 Avoid unnecessary arguments copying inside GenericHashTraits methods 5591 https://bugs.webkit.org/show_bug.cgi?id=115733 5592 5593 Reviewed by Darin Adler. 5594 5595 Before the change both WTF::GenericHashTraits::passOut and WTF::GenericHashTraits::passOut 5596 used to return the given argument always by value and that caused implicit extra 5597 copying of the argument. It was OK as long as argument type T was POD, as compiler 5598 could optimize it, but in case T was a class having non-trivial copy constructor the 5599 extra copying of the argument could not have been obviated. 5600 5601 The proposed solution is to provide overloaded functions that accept non-temporary 5602 values and return them by reference thus avoiding extra copying. 5603 5604 The proposed solution made an impact on the size of libjavascriptcore_efl.so (EFL 5605 release build): the size decreased from 6554992 bytes to 6554560 bytes. 5606 5607 * wtf/HashTraits.h: 5608 (WTF::GenericHashTraits::passOut): 5609 (WTF::GenericHashTraits::peek): 5610 56112013-05-07 Anders Carlsson <andersca@apple.com> 5612 5613 Remove AlwaysInline.h from WTF 5614 https://bugs.webkit.org/show_bug.cgi?id=115727 5615 5616 Reviewed by Brent Fulgham. 5617 5618 The macro that used to be in AlwaysInline.h is now in Compiler.h so there's no reason 5619 to keep AlwaysInline.h around anymore. 5620 5621 * WTF.vcproj/WTF.vcproj: 5622 * WTF.vcxproj/WTF.vcxproj: 5623 * WTF.vcxproj/WTF.vcxproj.filters: 5624 * WTF.xcodeproj/project.pbxproj: 5625 * wtf/AlwaysInline.h: Removed. 5626 * wtf/BloomFilter.h: 5627 * wtf/FastMalloc.cpp: 5628 * wtf/PassRefPtr.h: 5629 * wtf/dtoa.cpp: 5630 * wtf/gobject/GRefPtr.h: 5631 56322013-05-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 5633 5634 HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance 5635 https://bugs.webkit.org/show_bug.cgi?id=115646 5636 5637 Reviewed by Darin Adler. 5638 5639 HashTraits<RefPtr<P> >::PeekType should be raw pointer so that we 5640 can obviate multiple RefPtr copying when invoking HashMap<.., RefPtr>::get() 5641 method. 5642 5643 * wtf/HashTraits.h: 5644 56452013-05-06 Cosmin Truta <ctruta@blackberry.com> 5646 5647 Cherry-pick fixes to bignum from upstream 5648 https://bugs.webkit.org/show_bug.cgi?id=115658 5649 5650 Reviewed by Darin Adler. 5651 5652 Cherry-picked the following change lists: 5653 5654 Fix bug in bignum implementation 5655 http://codereview.chromium.org/13454019 5656 5657 Make VS2005 project files compile without errors 5658 http://codereview.chromium.org/6286135 5659 5660 * wtf/dtoa/bignum.cc: 5661 56622013-05-06 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 5663 5664 Change HashTraits<RefPtr<P> >::PassOutType to PassRefPtr for better performance 5665 https://bugs.webkit.org/show_bug.cgi?id=115410 5666 5667 Reviewed by Darin Adler. 5668 5669 The type HashTraits<RefPtr<P> >::PassOutType is PassRefPtr now to 5670 avoid extra ref/unrefing on return from HashMap methods that transfer 5671 ownership, such as take. 5672 5673 * wtf/HashTable.h: 5674 (WTF::IdentityHashTranslator::equal): 5675 * wtf/HashTraits.h: 5676 56772013-05-05 Anders Carlsson <andersca@apple.com> 5678 5679 Remove Vector::prepend 5680 https://bugs.webkit.org/show_bug.cgi?id=115618 5681 5682 Reviewed by Geoffrey Garen. 5683 5684 Given the performance characteristics of prepending something to a Vector, not having prepend 5685 will hopefully make developers think about whether prepending is necessary at all. For example, 5686 the functions in HexNumber.h were easily converted to using Vector::append and then Vector::reverse. 5687 5688 * wtf/HexNumber.h: 5689 (WTF::appendUnsignedAsHex): 5690 (WTF::appendUnsignedAsHexFixedSize): 5691 * wtf/Vector.h: 5692 (Vector): 5693 56942013-05-05 Anders Carlsson <andersca@apple.com> 5695 5696 Remove the Vector::append overload that takes a Vector 5697 https://bugs.webkit.org/show_bug.cgi?id=115535 5698 5699 Reviewed by Andreas Kling. 5700 5701 The Vector::append overload that takes a Vector conflicts with rvalues in C++11, so remove it and 5702 replace calls to it with calls to appendVector. 5703 5704 * wtf/Vector.h: 5705 (Vector): 5706 57072013-05-04 Andreas Kling <akling@apple.com> 5708 5709 Unreviewed, rolling out r149563. 5710 http://trac.webkit.org/changeset/149563 5711 https://bugs.webkit.org/show_bug.cgi?id=115587 5712 5713 Broke LLInt build. 5714 5715 * wtf/text/StringImpl.h: 5716 (StringImpl): 5717 57182013-05-04 Xan Lopez <xlopez@igalia.com> 5719 5720 No need to declare JSC::LLInt::Data as friend class of WTF::StringImpl 5721 https://bugs.webkit.org/show_bug.cgi?id=115587 5722 5723 Reviewed by Andreas Kling. 5724 5725 No need to declare LLInt::Data as friend class of WTF::StringImpl, 5726 it does not use any private method/data member of the latter. 5727 5728 * wtf/text/StringImpl.h: 5729 (StringImpl): 5730 57312013-05-03 Brent Fulgham <bfulgham@webkit.org> 5732 5733 Make ThreadFunctionInvocation fast allocated. 5734 https://bugs.webkit.org/show_bug.cgi?id=115552 5735 5736 Reviewed by Benjamin Poulain. 5737 5738 * wtf/ThreadFunctionInvocation.h: 5739 (ThreadFunctionInvocation): Make Fast-allocated. 5740 57412013-05-03 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 5742 5743 Remove WTF::ListRefPtr class 5744 https://bugs.webkit.org/show_bug.cgi?id=115516 5745 5746 Reviewed by Anders Carlsson. 5747 5748 ListRefPtr was used only by FontFamily class, besides it strongly depended 5749 on FontFamily class semantics which made it non-generic and inappropriate 5750 for being present inside WTF. 5751 5752 This patch removes WTF::ListRefPtr class and moves its the functionality 5753 into FontFamily class. 5754 5755 * GNUmakefile.list.am: 5756 * WTF.pro: 5757 * WTF.vcproj/WTF.vcproj: 5758 * WTF.vcxproj/WTF.vcxproj: 5759 * WTF.vcxproj/WTF.vcxproj.filters: 5760 * WTF.xcodeproj/project.pbxproj: 5761 * wtf/CMakeLists.txt: 5762 * wtf/Forward.h: 5763 (WTF): 5764 * wtf/ListRefPtr.h: Removed. 5765 57662013-05-02 Brent Fulgham <bfulgham@webkit.org> 5767 5768 [WinCairo] Unreviewed build fix. 5769 5770 * WTF.vcxproj/WTF.vcxproj: Use WinCairo FeatureDefines 5771 * WTF.vcxproj/WTF.vcxproj.filters: Use WinCairo FeatureDefines 5772 * WTF.vcxproj/WTFDebugWinCairo.props: Added. 5773 * WTF.vcxproj/WTFReleaseWinCairo.props: Added. 5774 57752013-05-02 Brent Fulgham <bfulgham@webkit.org> 5776 5777 [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html 5778 https://bugs.webkit.org/show_bug.cgi?id=115130 5779 5780 Reviewed by Tim Horton. 5781 5782 Windows is suffering from mismatched allocation/deallocation 5783 between the system allocator and fastMalloc/fastFree. By turning 5784 off the global switch to fastMalloc, only classes specified to 5785 honor fastMalloc/fastFree are affected, and other memory allocation 5786 and freeing is done with consistent library calls. 5787 5788 * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for 5789 the Windows build. 5790 57912013-05-02 Eric Carlson <eric.carlson@apple.com> 5792 5793 Caption menu does not include in-band captions 5794 https://bugs.webkit.org/show_bug.cgi?id=111934 5795 5796 Reviewed by Dean Jackson. 5797 5798 * wtf/Platform.h: Define HAVE_AVFOUNDATION_TEXT_TRACK_SUPPORT on 10.8 and higher. Added 5799 HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT. 5800 58012013-05-02 Brent Fulgham <bfulgham@webkit.org> 5802 5803 Make BloomFilter fast allocated. 5804 https://bugs.webkit.org/show_bug.cgi?id=115519 5805 5806 Reviewed by Benjamin Poulain. 5807 5808 * wtf/BloomFilter.h: 5809 (BloomFilter): Make BloomFilter Fast-allocated. 5810 58112013-05-01 Michael Saboff <msaboff@apple.com> 5812 5813 FastMalloc.cpp should use system defined page size instead of literal constant 5814 https://bugs.webkit.org/show_bug.cgi?id=115502 5815 5816 Reviewed by Geoffrey Garen. 5817 5818 Updated kPageShift to be PAGE_SHIFT for Mac. Changed kMaxSize to be fixed at 32K. 5819 Updated kNumClasses for 4K and 16K page sizes. 5820 5821 * wtf/FastMalloc.cpp: 5822 kPageShift: Changed this to be PAGE_SHIFT on mac. 5823 58242013-05-01 Roger Fong <roger_fong@apple.com> 5825 5826 Set Path in makefile for AppleWin. 5827 5828 * WTF.vcxproj/WTF.make: 5829 58302013-05-01 Anders Carlsson <andersca@apple.com> 5831 5832 Add FunctionDispatcher class and make RunLoop derive from it 5833 https://bugs.webkit.org/show_bug.cgi?id=115480 5834 5835 Reviewed by Sam Weinig. 5836 5837 Add FunctionDispatcher files. 5838 5839 * WTF.pro: 5840 * WTF.vcproj/WTF.vcproj: 5841 * WTF.vcxproj/WTF.vcxproj: 5842 * WTF.xcodeproj/project.pbxproj: 5843 * wtf/FunctionDispatcher.cpp: Added. 5844 (WTF::FunctionDispatcher::FunctionDispatcher): 5845 (WTF::FunctionDispatcher::~FunctionDispatcher): 5846 * wtf/FunctionDispatcher.h: Added. 5847 58482013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu> 5849 5850 [Qt][Win] Fix build after r149416. 5851 https://bugs.webkit.org/show_bug.cgi?id=115474 5852 5853 Reviewed by Anders Carlsson. 5854 5855 * WTF.pro: 5856 * wtf/threads/BinarySemaphore.h: 5857 (BinarySemaphore): 5858 58592013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu> 5860 5861 [Qt] Unreviewed buildfix after r149416. 5862 5863 * WTF.pro: 5864 58652013-04-30 Anders Carlsson <andersca@apple.com> 5866 5867 Remove the WebKit2 BinarySemaphore class 5868 https://bugs.webkit.org/show_bug.cgi?id=115458 5869 5870 Reviewed by Benjamin Poulain. 5871 5872 * wtf/Forward.h: 5873 Add BinarySemaphore forward declaration. 5874 5875 * wtf/threads/BinarySemaphore.h: 5876 Add WTF_EXPORT_PRIVATE to declarations. 5877 58782013-04-30 Commit Queue <rniwa@webkit.org> 5879 5880 Unreviewed, rolling out r149408. 5881 http://trac.webkit.org/changeset/149408 5882 https://bugs.webkit.org/show_bug.cgi?id=115453 5883 5884 Broke Windows Build (Requested by bfulgham on #webkit). 5885 5886 * wtf/Platform.h: 5887 58882013-04-30 Brent Fulgham <bfulgham@webkit.org> 5889 5890 [Windows, WinCairo] Fix crash in fast/js/create-lots-of-workers.html 5891 https://bugs.webkit.org/show_bug.cgi?id=115130 5892 5893 Reviewed by Tim Horton. 5894 5895 Windows is suffering from mismatched allocation/deallocation 5896 between the system allocator and fastMalloc/fastFree. By turning 5897 off the global switch to fastMalloc, only classes specified to 5898 honor fastMalloc/fastFree are affected, and other memory allocation 5899 and freeing is done with consistent library calls. 5900 5901 * wtf/Platform.h: Deactivate ENABLE_GLOBAL_FASTMALLOC_NEW for 5902 the Windows build. 5903 59042013-04-30 Commit Queue <rniwa@webkit.org> 5905 5906 Unreviewed, rolling out r149349 and r149354. 5907 http://trac.webkit.org/changeset/149349 5908 http://trac.webkit.org/changeset/149354 5909 https://bugs.webkit.org/show_bug.cgi?id=115444 5910 5911 The Thumb version of compileSoftModulo make invalid use of 5912 registers (Requested by benjaminp on #webkit). 5913 5914 * wtf/Platform.h: 5915 59162013-04-30 Darin Adler <darin@apple.com> 5917 5918 [Mac] Make adoptNS faster on platforms without garbage collection by skipping a CFRetain/NSRelease pair 5919 https://bugs.webkit.org/show_bug.cgi?id=115424 5920 5921 Reviewed by Eric Carlson. 5922 5923 * wtf/RetainPtr.h: 5924 (WTF::adoptNSReference): When OBJC_NO_GC is set, make this an empty function, because in that case 5925 CFRetain and -[NSObject retain] are the same thing and there is no need to call CFRetain and 5926 -[NSObject release] to adopt an Objective-C object. 5927 59282013-04-30 Anders Carlsson <andersca@apple.com> 5929 5930 String::isolatedCopy() can avoid a copy if the original is a temporary 5931 https://bugs.webkit.org/show_bug.cgi?id=115425 5932 5933 Reviewed by Darin Adler. 5934 5935 * wtf/Compiler.h: 5936 Add WTF_COMPILER_SUPPORTS_CXX_REFERENCE_QUALIFIED_FUNCTIONS define. 5937 5938 * wtf/text/WTFString.cpp: 5939 (WTF::String::isolatedCopy): 5940 * wtf/text/WTFString.h: 5941 If COMPILER_SUPPORTS(CXX_REFERENCE_QUALIFIED_FUNCTIONS) is true, add two overloads of String::isolatedCopy(). 5942 One is used if *this is an lvalue, and one is used if *this is an rvalue. In the latter case, we know that the original 5943 String object is a temporary and will be going away, so if it's safe to send it to another thread (if it's not an AtomicString, 5944 and if it's refcount is 1), then we can just steal the StringImpl from the original and avoid a copy altogether. 5945 59462013-04-30 Zalan Bujtas <zalan@apple.com> 5947 5948 Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/ 5949 https://bugs.webkit.org/show_bug.cgi?id=111244 5950 5951 Reviewed by David Kilzer. 5952 5953 Enable performance.now() as a minimal subset of Web Timing API. 5954 It returns DOMHighResTimeStamp, a monotonically increasing value representing the 5955 number of milliseconds from the start of the navigation of the current document. 5956 JS libraries use this API to check against the requestAnimationFrame() timestamp. 5957 5958 * wtf/FeatureDefines.h: 5959 59602013-04-29 Cosmin Truta <ctruta@blackberry.com> 5961 5962 [ARM] Expand the use of integer division 5963 https://bugs.webkit.org/show_bug.cgi?id=115138 5964 5965 Reviewed by Benjamin Poulain. 5966 5967 * wtf/Platform.h: Added ENABLE_ARM_INTEGER_DIV. 5968 59692013-04-29 Anders Carlsson <andersca@apple.com> 5970 5971 It should be an error to use adoptPtr with RefCounted subclasses 5972 https://bugs.webkit.org/show_bug.cgi?id=115389 5973 5974 Reviewed by Benjamin Poulain. 5975 5976 * wtf/PassOwnPtr.h: 5977 (WTF::adoptPtr): 5978 Add COMPILE_ASSERTs. 5979 59802013-04-29 Patrick Gansterer <paroga@webkit.org> 5981 5982 [WIN] Add workaround for UNUSED_PARAM() 5983 https://bugs.webkit.org/show_bug.cgi?id=115350 5984 5985 Reviewed by Andreas Kling. 5986 5987 r147882 added an workaround for the MSVC compiler on Windows CE. 5988 Extend this workaround to whole MSVC compiler, since the same 5989 problem occurs with the Visual Studio 10 compiler too. 5990 5991 * wtf/UnusedParam.h: 5992 59932013-04-29 Patrick Gansterer <paroga@webkit.org> 5994 5995 [WIN] Add WTF_USE_IMLANG_FONT_LINK2 5996 https://bugs.webkit.org/show_bug.cgi?id=115198 5997 5998 Reviewed by Andreas Kling. 5999 6000 * wtf/Platform.h: 6001 60022013-04-29 Patrick Gansterer <paroga@webkit.org> 6003 6004 Define USE(ICU_UNICODE) if USE(WCHAR_UNICODE) is false 6005 https://bugs.webkit.org/show_bug.cgi?id=115349 6006 6007 Reviewed by Andreas Kling. 6008 6009 Since we support only ICU and WCHAR as Unicode backend (ICU is the default) 6010 automatically use ICU if WCHAR was not selected via compiler defines. 6011 6012 * wtf/Platform.h: 6013 60142013-04-29 Patrick Gansterer <paroga@webkit.org> 6015 6016 Build fix for WinCE after r148888 and r149097 6017 https://bugs.webkit.org/show_bug.cgi?id=115168 6018 6019 Reviewed by Anders Carlsson. 6020 6021 When using compiler intrinsics on Windows CE the compiler complains 6022 about wrong linkage specification of replaced CRT functions defined 6023 in math.h. This is because the compiler has intrinsics for this 6024 functions defined, and requires them to have extern "C" linkage. 6025 6026 * wtf/MathExtras.h: 6027 (wtf_atan2): Added extern "C" to function signature. 6028 (wtf_fmod): Ditto. 6029 (wtf_pow): Ditto. 6030 60312013-04-29 Carlos Garcia Campos <cgarcia@igalia.com> 6032 6033 Unreviewed. Fix make distcheck. 6034 6035 * GNUmakefile.list.am: Add missing header file to compilation. 6036 60372013-04-27 Darin Adler <darin@apple.com> 6038 6039 Move from constructor and member function adoptCF/NS to free function adoptCF/NS. 6040 https://bugs.webkit.org/show_bug.cgi?id=115307 6041 6042 Reviewed by Geoffrey Garen. 6043 6044 * wtf/RunLoopTimerCF.cpp: 6045 (WTF::RunLoopTimerBase::start): 6046 * wtf/SchedulePair.h: 6047 (WTF::SchedulePair::SchedulePair): 6048 * wtf/SchedulePairMac.mm: 6049 (WTF::SchedulePair::SchedulePair): 6050 * wtf/unicode/icu/CollatorICU.cpp: 6051 (WTF::Collator::userDefault): 6052 Use adoptCF free function. 6053 60542013-04-26 Geoffrey Garen <ggaren@apple.com> 6055 6056 Filled out more cases of branch folding in bytecode when emitting expressions into a branching context 6057 https://bugs.webkit.org/show_bug.cgi?id=115057 6058 6059 Reviewed by Filip Pizlo. 6060 6061 Added a helper constructor for TriState so clients can make one without 6062 branching or making assumptions about the integer values of TriStates. 6063 6064 * wtf/TriState.h: 6065 (WTF::triState): 6066 (WTF): 6067 60682013-04-26 Roger Fong <roger_fong@apple.com> 6069 6070 Make Apple Windows VS2010 build results into and get dependencies from __32 suffixed folders. 6071 Make the DebugSuffix configuration use _debug dependencies. 6072 6073 * WTF.vcxproj/WTF.make: 6074 * WTF.vcxproj/WTF.vcxproj: 6075 * WTF.vcxproj/WTFCommon.props: 6076 * WTF.vcxproj/WTFDebug.props: 6077 * WTF.vcxproj/WTFGenerated.make: 6078 * WTF.vcxproj/WTFGenerated.vcxproj: 6079 * WTF.vcxproj/WTFGeneratedCommon.props: 6080 * WTF.vcxproj/WTFGeneratedDebug.props: 6081 * WTF.vcxproj/WTFGeneratedProduction.props: 6082 * WTF.vcxproj/WTFGeneratedRelease.props: 6083 * WTF.vcxproj/WTFProduction.props: 6084 * WTF.vcxproj/WTFRelease.props: 6085 * WTF.vcxproj/build-generated-files.sh: 6086 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py: 6087 (react_to_vsprops_changes): 6088 60892013-04-26 Martin Robinson <mrobinson@igalia.com> 6090 6091 Remove the remaining Skia #ifdefs 6092 https://bugs.webkit.org/show_bug.cgi?id=114886 6093 6094 Reviewed by Benjamin Poulain. 6095 6096 * wtf/Platform.h: 6097 60982013-04-26 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 6099 6100 Add move semantics to RefPtr 6101 https://bugs.webkit.org/show_bug.cgi?id=115033 6102 6103 Reviewed by Anders Carlsson. 6104 6105 Add move constructors and move assignment operators to RefPtr when 6106 COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES). 6107 This obviates unnecessary reffing/ureffing when RefPtr is created 6108 or assigned from rvalue references. 6109 6110 * wtf/RefPtr.h: 6111 (RefPtr): 6112 (WTF::RefPtr::RefPtr): 6113 (WTF::RefPtr::operator=): 6114 61152013-04-26 Andreas Kling <akling@apple.com> 6116 6117 Remove wxWebKit from WTF. 6118 <http://webkit.org/b/115249> 6119 6120 Reviewed by Antti Koivisto. 6121 6122 * wscript: Removed. 6123 * wtf/ArrayBufferView.h: 6124 (ArrayBufferView): 6125 * wtf/CurrentTime.cpp: 6126 * wtf/DisallowCType.h: 6127 * wtf/ExportMacros.h: 6128 * wtf/FeatureDefines.h: 6129 * wtf/Platform.h: 6130 * wtf/text/WTFString.h: 6131 (String): 6132 * wtf/wx/MainThreadWx.cpp: Removed. 6133 * wtf/wx/StringWx.cpp: Removed. 6134 61352013-04-25 Filip Pizlo <fpizlo@apple.com> 6136 6137 Unreviewed, roll out http://trac.webkit.org/changeset/148999 6138 It broke http://kripken.github.io/ammo.js/examples/new/ammo.html 6139 6140 * wtf/TriState.h: 6141 61422013-04-25 Oliver Hunt <oliver@apple.com> 6143 6144 Fix 32bit build 6145 6146 * wtf/StackBounds.cpp: 6147 (WTF::StackBounds::initialize): 6148 61492013-04-25 Oliver Hunt <oliver@apple.com> 6150 6151 Stack guards are too conservative 6152 https://bugs.webkit.org/show_bug.cgi?id=115147 6153 6154 Reviewed by Mark Hahnenberg. 6155 6156 Use getrlimit on darwin to get the stack size for the main thread. 6157 6158 * wtf/StackBounds.cpp: 6159 (WTF::StackBounds::initialize): 6160 61612013-04-25 Andreas Kling <akling@apple.com> 6162 6163 Remove ENABLE(PARSED_STYLE_SHEET_CACHING) and make it always-on. 6164 6165 Rubber-stamped by Anders Koivisto. 6166 6167 * wtf/FeatureDefines.h: 6168 61692013-04-25 peavo@outlook.com <peavo@outlook.com> 6170 6171 [Windows] Compile fix. 6172 https://bugs.webkit.org/show_bug.cgi?id=115170 6173 6174 Reviewed by Filip Pizlo. 6175 6176 Forward declare function, instead of including intrin.h. 6177 6178 * wtf/Atomics.h: 6179 61802013-04-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 6181 6182 Use std::move in AtomicString 6183 https://bugs.webkit.org/show_bug.cgi?id=115102 6184 6185 Reviewed by Anders Carlsson. 6186 6187 Use std::move in AtomicString instead of direct casting to rvalue references. 6188 6189 * wtf/text/AtomicString.h: 6190 (AtomicString): 6191 (WTF::AtomicString::AtomicString): 6192 (WTF::AtomicString::operator=): 6193 61942013-04-25 Patrick Gansterer <paroga@webkit.org> 6195 6196 Unreviewed WinCE build fix after r148888. 6197 6198 * wtf/Atomics.h: WinCE version of intrin.h is called cmnintrin.h. 6199 62002013-04-24 Roger Fong <roger_fong@apple.com> 6201 6202 Have VS2010 WebKit solution look in WebKit_Libraries/lib32 for dependencies. 6203 6204 * WTF.vcxproj/build-generated-files.sh: 6205 62062013-04-24 Benjamin Poulain <benjamin@webkit.org> 6207 6208 Use post-branch store for RefCountedBase::derefBase 6209 https://bugs.webkit.org/show_bug.cgi?id=115078 6210 6211 Reviewed by Andreas Kling. 6212 6213 * wtf/RefCounted.h: 6214 (WTF::RefCountedBase::derefBase): This makes the assembly easier to follow. 6215 62162013-04-23 Geoffrey Garen <ggaren@apple.com> 6217 6218 Filled out more cases of branch folding in bytecode when emitting expressions into a branching context 6219 https://bugs.webkit.org/show_bug.cgi?id=115057 6220 6221 Reviewed by Filip Pizlo. 6222 6223 Added a helper constructor for TriState so clients can make one without 6224 branching or making assumptions about the integer values of TriStates. 6225 6226 * wtf/TriState.h: 6227 (WTF::triState): 6228 (WTF): 6229 62302013-04-23 Roger Fong <roger_fong@apple.com> 6231 6232 AppleWin build fix. 6233 6234 * WTF.vcproj/WTF.vcproj: 6235 62362013-04-23 Benjamin Poulain <bpoulain@apple.com> 6237 6238 Remove unused code of RefCounted after chromium removal 6239 https://bugs.webkit.org/show_bug.cgi?id=115009 6240 6241 Reviewed by Ryosuke Niwa. 6242 6243 * wtf/RefCounted.h: 6244 (WTF::RefCountedBase::refCount): 6245 (RefCountedBase): 6246 It looks like addressOfCount() is no longer needed. 6247 Also change the type back to unsigned as it make more sense. 6248 62492013-04-23 David Kilzer <ddkilzer@apple.com> 6250 6251 RetainPtr.h should compile with -Wshorten-64-to-32 6252 <http://webkit.org/b/115047> 6253 6254 Reviewed by Anders Carlsson. 6255 6256 Fixes the following warning: 6257 6258 RetainPtr.h:318:20: error: implicit conversion loses integer precision: 'CFHashCode' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32] 6259 return CFHash(o.get()); 6260 ~~~~~~ ^~~~~~~~~~~~~~~ 6261 6262 * wtf/RetainPtr.h: 6263 (WTF::RetainPtrObjectHash::hash): Cast return value of CFHash() 6264 to unsigned. This has no effect on 32-bit architectures, but 6265 takes the lower 32-bits of the CFHashCode (unsigned long) on 6266 64-bit architectures, which is what happens implicitly now. 6267 62682013-04-22 Patrick Gansterer <paroga@webkit.org> 6269 6270 [CMake] Move NullPtr.cpp from PlatformWinCE.cmake to CMakeLists.txt 6271 https://bugs.webkit.org/show_bug.cgi?id=114557 6272 6273 Reviewed by Laszlo Gombos. 6274 6275 This file is not specific to Windwos CE. Move it the the general 6276 CMakeLists.txt so other ports can use it to. It does not affect 6277 ports which do not need it, since it contains a preprocessor guard. 6278 6279 * wtf/CMakeLists.txt: 6280 * wtf/PlatformWinCE.cmake: 6281 62822013-04-22 Benjamin Poulain <benjamin@webkit.org> 6283 6284 Remove the memory instrumentation code 6285 https://bugs.webkit.org/show_bug.cgi?id=114931 6286 6287 Reviewed by Andreas Kling. 6288 6289 On Mac x86_64, the code removal cause the binary to be 6290 9224 bytes smaller. 6291 6292 * GNUmakefile.list.am: 6293 * WTF.pro: 6294 * WTF.vcproj/WTF.vcproj: 6295 * WTF.vcxproj/WTF.vcxproj: 6296 * WTF.vcxproj/WTF.vcxproj.filters: 6297 * WTF.xcodeproj/project.pbxproj: 6298 * wtf/CMakeLists.txt: 6299 * wtf/Forward.h: 6300 * wtf/ListHashSet.h: 6301 (ListHashSet): 6302 (ListHashSetNodeAllocator): 6303 (WTF::ListHashSetNodeAllocator::pool): 6304 (WTF::ListHashSetNodeAllocator::pastPool): 6305 * wtf/MemoryInstrumentation.cpp: Removed. 6306 * wtf/MemoryInstrumentation.h: Removed. 6307 * wtf/MemoryInstrumentationArrayBufferView.h: Removed. 6308 * wtf/MemoryInstrumentationHashCountedSet.h: Removed. 6309 * wtf/MemoryInstrumentationHashMap.h: Removed. 6310 * wtf/MemoryInstrumentationHashSet.h: Removed. 6311 * wtf/MemoryInstrumentationListHashSet.h: Removed. 6312 * wtf/MemoryInstrumentationSequence.h: Removed. 6313 * wtf/MemoryInstrumentationString.h: Removed. 6314 * wtf/MemoryInstrumentationVector.h: Removed. 6315 * wtf/MemoryObjectInfo.h: Removed. 6316 * wtf/text/AtomicString.h: 6317 * wtf/text/StringImpl.h: 6318 (WTF::StringImpl::isASCIILiteral): 6319 * wtf/text/WTFString.h: 6320 63212013-04-22 David Kilzer <ddkilzer@apple.com> 6322 6323 StringImpl.h should compile with -Wshorten-64-to-32 6324 <http://webkit.org/b/114970> 6325 6326 Reviewed by Darin Adler. 6327 6328 Fixes the following warnings with -Wshorten-64-to-32: 6329 6330 StringImpl.h:317:25: error: implicit conversion loses integer precision: 'uintptr_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32] 6331 unsigned hash = reinterpret_cast<uintptr_t>(this); 6332 ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6333 6334 * wtf/text/StringImpl.h: 6335 (WTF::StringImpl::StringImpl): Add static_cast<uint32_t>() to 6336 formalize taking the lower 32-bits of the pointer value on 6337 64-bit architectures. 6338 63392013-04-22 Andreas Kling <akling@apple.com> 6340 6341 Shrink baseline size of WTF::Vector on 64-bit by switching to unsigned capacity and size. 6342 <http://webkit.org/b/97268> 6343 <rdar://problem/12376519> 6344 6345 Reviewed by Sam Weinig. 6346 6347 Shrink Vector by 8 bytes on 64-bit by using 32-bit capacity and size. 6348 Vector now inherits from VectorBuffer instead of having a VectorBuffer member; 6349 this is necessary for m_size to fall into the padding after the base class members. 6350 6351 The WTF::Vector API still uses size_t. 6352 6353 Based on Blink r148313 by <cevans@chromium.org>. 6354 6355 * wtf/SizeLimits.cpp: 6356 * wtf/Vector.h: 6357 (WTF::VectorBufferBase::allocateBuffer): 6358 (WTF::VectorBufferBase::tryAllocateBuffer): 6359 (VectorBufferBase): 6360 (WTF::VectorBuffer::shouldReallocateBuffer): 6361 (Vector): 6362 (WTF::Vector::Vector): 6363 (WTF::Vector::capacity): 6364 (WTF::Vector::at): 6365 (WTF::Vector::data): 6366 (WTF::Vector::swap): 6367 (WTF::::Vector): 6368 (WTF::::reserveCapacity): 6369 (WTF::::tryReserveCapacity): 6370 (WTF::::reserveInitialCapacity): 6371 (WTF::::shrinkCapacity): 6372 (WTF::::releaseBuffer): 6373 63742013-04-21 Filip Pizlo <fpizlo@apple.com> 6375 6376 Memory barrier support should also ensure that we always do a compiler fence 6377 https://bugs.webkit.org/show_bug.cgi?id=114934 6378 6379 Reviewed by Michael Saboff. 6380 6381 This is a cherry-pick merge of the WTF part of r148836 from the dfgFourthTier 6382 branch. It fixes a memory ordering bug that is likely asymptomatic, but 6383 nonetheless real: TCSpinLock expects that using a memoryBarrierBeforeUnlock() 6384 prior to setting lockword_ to 0 will ensure that the assignment to lockword_ 6385 won't get floated above any of the stores in the critical section. While that 6386 memory barrier does indeed do the right thing on ARM, it doesn't do the right 6387 thing on other architectures: it turns into empty code that the compiler blows 6388 away, which is fine for the hardware since X86 won't reorder that store - but 6389 it's not fine for the compiler, which may still do its own reorderings. 6390 6391 The WTF part of r148836 fixes this by using a compiler fence: an empty asm 6392 volatile block that is marked as clobbering memory. 6393 6394 Instead of doing a separate surgical fix in trunk, I decided to merge the 6395 whole WTF change over, to make merging easier in the future. 6396 6397 Performance testing of this change in dfgFourthTier showed no regression. 6398 6399 * wtf/Atomics.h: 6400 (WTF::compilerFence): 6401 (WTF::armV7_dmb): 6402 (WTF::armV7_dmb_st): 6403 (WTF::loadLoadFence): 6404 (WTF::loadStoreFence): 6405 (WTF::storeLoadFence): 6406 (WTF::storeStoreFence): 6407 (WTF::memoryBarrierAfterLock): 6408 (WTF::memoryBarrierBeforeUnlock): 6409 (WTF::x86_mfence): 6410 64112013-04-22 David Kilzer <ddkilzer@apple.com> 6412 6413 WTF::AtomicString::find() should take unsigned 'start' argument 6414 <http://webkit.org/b/114958> 6415 6416 Reviewed by Darin Adler. 6417 6418 Fixes the following warnings with -Wshorten-64-to-32: 6419 6420 AtomicString.h:113:76: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32] 6421 size_t find(UChar c, size_t start = 0) const { return m_string.find(c, start); } 6422 ~~~~~~~~ ^~~~~ 6423 AtomicString.h:115:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32] 6424 { return m_string.find(s, start, caseSentitive); } 6425 ~~~~~~~~ ^~~~~ 6426 AtomicString.h:117:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32] 6427 { return m_string.find(s, start, caseSentitive); } 6428 ~~~~~~~~ ^~~~~ 6429 6430 * wtf/text/AtomicString.h: 6431 (WTF::AtomicString::find): Change type of 'start' argument from 6432 size_t to unsigned. 6433 64342013-04-21 Benjamin Poulain <benjamin@webkit.org> 6435 6436 Improve StringImpl code density for older ARM hardware 6437 https://bugs.webkit.org/show_bug.cgi?id=114898 6438 6439 Reviewed by Geoffrey Garen. 6440 6441 Reduce the number of instructions needed for StringImpl::deref 6442 on older ARM hardware. 6443 6444 The extra indirection should have a negligible impact on x86_64. 6445 6446 * wtf/text/StringImpl.cpp: 6447 (WTF::StringImpl::destroy): 6448 * wtf/text/StringImpl.h: 6449 (StringImpl): 6450 (WTF::StringImpl::deref): 6451 64522013-04-20 Allan Sandfeld Jensen <allan.jensen@digia.com> 6453 6454 LLint should be able to use x87 instead of SSE for floating pointer 6455 https://bugs.webkit.org/show_bug.cgi?id=112239 6456 6457 Reviewed by Filip Pizlo. 6458 6459 Disable GTK workaround now that LLInt does not require SSE2. 6460 6461 * wtf/Platform.h: 6462 64632013-04-19 Roger Fong <roger_fong@apple.com> 6464 6465 Remove uses of WebKit_Source from AppleWin build in WTF. 6466 6467 * WTF.vcxproj/WTF.make: 6468 * WTF.vcxproj/copy-files.cmd: 6469 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py: 6470 (react_to_vsprops_changes): 6471 (react_to_webkit1_interface_changes): 6472 64732013-04-19 Benjamin Poulain <benjamin@webkit.org> 6474 6475 Remove the declaration of MemoryObjectInfo from StringImpl 6476 https://bugs.webkit.org/show_bug.cgi?id=114788 6477 6478 Reviewed by Andreas Kling. 6479 6480 * wtf/text/StringImpl.h: The declaration is an other left over from chromium. 6481 64822013-04-19 Benjamin Poulain <benjamin@webkit.org> 6483 6484 Make StringImpl::cost const 6485 https://bugs.webkit.org/show_bug.cgi?id=114790 6486 6487 Reviewed by Andreas Kling. 6488 6489 * wtf/text/StringImpl.h: 6490 (WTF::StringImpl::cost): 6491 64922013-04-19 Roger Fong <roger_fong@apple.com> 6493 6494 Unreviewed. WebKit_Source is incorrectly set. 6495 6496 * WTF.vcxproj/WTF.make: 6497 64982013-04-19 Alberto Garcia <agarcia@igalia.com> 6499 6500 OSAllocatorPosix: fix build warnings about unused parameters in QNX 6501 https://bugs.webkit.org/show_bug.cgi?id=114859 6502 6503 Reviewed by Carlos Garcia Campos. 6504 6505 * wtf/OSAllocatorPosix.cpp: 6506 (WTF::OSAllocator::reserveUncommitted): 6507 65082013-04-19 Dan Beam <dbeam@chromium.org> 6509 6510 Remove unmaintained feature REQUEST_AUTOCOMPLETE 6511 https://bugs.webkit.org/show_bug.cgi?id=114846 6512 6513 Reviewed by Kent Tamura. 6514 6515 * wtf/FeatureDefines.h: Remove REQUEST_AUTOCOMPLETE as a feature definition. 6516 65172013-04-18 Zoltan Arvai <zarvai@inf.u-szeged.hu> 6518 6519 Speculative build fix for Qt Mountain Lion Release after r148639. 6520 https://bugs.webkit.org/show_bug.cgi?id=114793 6521 6522 Reviewed by Michael Saboff. 6523 6524 * wtf/CurrentTime.cpp: 6525 65262013-04-17 Mark Lam <mark.lam@apple.com> 6527 6528 Added currentCPUTime() and currentCPUTimeMS(). 6529 https://bugs.webkit.org/show_bug.cgi?id=114577. 6530 6531 Reviewed by Geoffrey Garen. 6532 6533 The currentCPUTime() implementation came from the old TimeoutChecker.cpp. 6534 6535 * wtf/CurrentTime.cpp: 6536 (WTF::currentCPUTime): 6537 (WTF::currentCPUTimeMS): 6538 * wtf/CurrentTime.h: 6539 65402013-04-17 Ryosuke Niwa <rniwa@webkit.org> 6541 6542 REGRESSION(r148584): WebKit nightly builds don't load any page 6543 https://bugs.webkit.org/show_bug.cgi?id=114752 6544 6545 Reviewed by Anders Carlsson. 6546 6547 We can't use C++ style (//) comments in Platform.h because WebKit2/DerivedSource.make doesn't know 6548 how to strip it to be merged with *.sb.in to generate *.sb files. Specifically, we have: 6549 6550 # Some versions of clang incorrectly strip out // comments in c89 code. 6551 # Use -traditional as a workaround, but only when needed since that causes 6552 # other problems with later versions of clang. 6553 ifeq ($(shell echo '//x' | $(CC) -E -P -x c -std=c89 - | grep x),) 6554 TEXT_PREPROCESSOR_FLAGS=-E -P -x c -traditional -w 6555 else 6556 TEXT_PREPROCESSOR_FLAGS=-E -P -x c -std=c89 -w 6557 endif 6558 6559 * wtf/Platform.h: 6560 65612013-04-17 Brent Fulgham <bfulgham@webkit.org> 6562 6563 [Windows, WinCairo] Remove Include Settings for Pthreads from WTF 6564 https://bugs.webkit.org/show_bug.cgi?id=114694 6565 6566 Reviewed by Ryosuke Niwa. 6567 6568 * WTF.vcproj/WTFCommon.vsprops: Remove pthread search path. 6569 * WTF.vcxproj/WTFCommon.props: Remove pthread search path. 6570 * wtf/FastMalloc.cpp: Guard pthread.h include for non-pthread 6571 builds. 6572 65732013-04-16 Oliver Hunt <oliver@apple.com> 6574 6575 Harden FastMalloc against partial pointer overflows 6576 https://bugs.webkit.org/show_bug.cgi?id=114716 6577 6578 Reviewed by Gavin Barraclough. 6579 6580 Bite the bullet and perform object alignment checks on free. 6581 malloc/free micro benchmark shows a regression, but real 6582 benchmarks don't. There's a little code motion in this avoid 6583 taking too much of a performance hit. In addition to the 6584 alignment check we also validate the containing span as 6585 we've already taken the hit of finding it. 6586 6587 * wtf/FastMalloc.cpp: 6588 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 6589 65902013-04-16 Sam Weinig <sam@webkit.org> 6591 6592 Fix fallout after r148545. 6593 6594 * wtf/Platform.h: 6595 Move Platform defines that were incorrectly in WebCore, into Platform.h 6596 65972013-04-15 Commit Queue <rniwa@webkit.org> 6598 6599 Unreviewed, rolling out r148488. 6600 http://trac.webkit.org/changeset/148488 6601 https://bugs.webkit.org/show_bug.cgi?id=114660 6602 6603 Roll back in r148462 since it was a false positive. (Requested 6604 by rniwa on #webkit). 6605 6606 * wtf/FastMalloc.cpp: 6607 (WTF): 6608 (WTF::setThreadHeap): 6609 (WTF::TCMalloc_ThreadCache::GetThreadHeap): 6610 (WTF::TCMalloc_ThreadCache::InitTSD): 6611 * wtf/ThreadSpecificWin.cpp: 6612 (WTF::destructorsList): 6613 (WTF::destructorsMutex): 6614 (WTF::threadSpecificKeyCreate): 6615 (WTF::threadSpecificKeyDelete): 6616 66172013-04-15 Commit Queue <rniwa@webkit.org> 6618 6619 Unreviewed, rolling out r148462. 6620 http://trac.webkit.org/changeset/148462 6621 https://bugs.webkit.org/show_bug.cgi?id=114658 6622 6623 Broke Windows builds (Requested by rniwa on #webkit). 6624 6625 * wtf/FastMalloc.cpp: 6626 (WTF): 6627 (WTF::setThreadHeap): 6628 (WTF::TCMalloc_ThreadCache::GetThreadHeap): 6629 (WTF::TCMalloc_ThreadCache::InitTSD): 6630 * wtf/ThreadSpecificWin.cpp: 6631 (WTF::destructorsList): 6632 (WTF::destructorsMutex): 6633 (WTF::threadSpecificKeyCreate): 6634 (WTF::threadSpecificKeyDelete): 6635 66362013-04-15 Julien Brianceau <jbrianceau@nds.com> 6637 6638 LLInt SH4 backend implementation 6639 https://bugs.webkit.org/show_bug.cgi?id=112886 6640 6641 Reviewed by Oliver Hunt. 6642 6643 * wtf/Platform.h: 6644 66452013-04-15 Patrick Gansterer <paroga@webkit.org> 6646 6647 [CMake] Add WTF_USE_*_UNICODE variables 6648 https://bugs.webkit.org/show_bug.cgi?id=114556 6649 6650 Reviewed by Brent Fulgham. 6651 6652 WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to 6653 reduce duplication in the platform specific CMake files. 6654 6655 * wtf/CMakeLists.txt: 6656 * wtf/PlatformBlackBerry.cmake: 6657 * wtf/PlatformEfl.cmake: 6658 * wtf/PlatformWinCE.cmake: 6659 66602013-04-15 Patrick Gansterer <paroga@webkit.org> 6661 6662 [WIN] Remove remaining calls to pthread from WTF 6663 https://bugs.webkit.org/show_bug.cgi?id=114563 6664 6665 Reviewed by Brent Fulgham. 6666 6667 Replace pthread_key_create with threadSpecificKeyCreate and 6668 pthread_setspecific with threadSpecificSet from ThreadSpecific.h. 6669 These functions provide a windows-specific implementation for the pthread functions, 6670 but require that the thread has been created with WTF::createThread(), 6671 which is the case for all threads created within WebKit. 6672 To call this function from fastMalloc we must not call fastMalloc in them. 6673 To fulfill this constraint ThreadSpecificWin will allocated its memory through the 6674 original malloc implementation and use the stack for local and static variables. 6675 Keep the Darwin implementation as it is, since it contains some performance tweaks. 6676 6677 * wtf/FastMalloc.cpp: 6678 * wtf/ThreadSpecificWin.cpp: 6679 (WTF::destructorsList): 6680 (WTF::destructorsMutex): 6681 (WTF::threadSpecificKeyCreate): 6682 (WTF::threadSpecificKeyDelete): 6683 66842013-04-14 Oliver Hunt <oliver@apple.com> 6685 6686 Try to fix non-apple windows builds 6687 6688 * wtf/Platform.h: 6689 66902013-04-14 David Kilzer <ddkilzer@apple.com> 6691 6692 Add EnumClass.h to project files 6693 <http://webkit.org/b/114582> 6694 6695 Rubber-stamped by Dan Bernstein. 6696 6697 * WTF.pro: Add EnumClass.h to project. 6698 * WTF.vcproj/WTF.vcproj: Ditto. 6699 * WTF.vcxproj/WTF.vcxproj: Ditto. 6700 * WTF.vcxproj/WTF.vcxproj.filters: Ditto. 6701 * WTF.xcodeproj/project.pbxproj: Ditto. 6702 67032013-04-12 Oliver Hunt <oliver@apple.com> 6704 6705 Apologies to all, I have no idea what happened to cause this change. 6706 6707 * wtf/Platform.h: 6708 67092013-04-12 Oliver Hunt <oliver@apple.com> 6710 6711 [Qt][Win] r148257 broke the build 6712 https://bugs.webkit.org/show_bug.cgi?id=114512 6713 6714 Build fix. 6715 6716 * wtf/Platform.h: 6717 67182013-04-11 Oliver Hunt <oliver@apple.com> 6719 6720 Add more type validation to debug builds 6721 https://bugs.webkit.org/show_bug.cgi?id=114478 6722 6723 Reviewed by Mark Hahnenberg. 6724 6725 Add BINDING_VALIDATION flag and make RELEASE_ASSERT use UNLIKELY. 6726 6727 * wtf/Assertions.h: 6728 * wtf/Platform.h: 6729 67302013-04-10 Thiago Marcos P. Santos <thiago.santos@intel.com> 6731 6732 [WTF] Get rid of truncated thread name warnings for non-Windows platforms 6733 https://bugs.webkit.org/show_bug.cgi?id=114266 6734 6735 Reviewed by Ryosuke Niwa. 6736 6737 Hide the annoying message from ports that are not really interested 6738 about it. 6739 6740 * wtf/Threading.cpp: 6741 (WTF::createThread): 6742 67432013-04-10 Benjamin Poulain <bpoulain@apple.com> 6744 6745 Mass remove all the empty directories 6746 6747 Rubberstamped by Ryosuke Niwa. 6748 6749 * wtf/qt/compat: Removed. 6750 * wtf/unicode/glib: Removed. 6751 * wtf/unicode/qt4: Removed. 6752 * wtf/unicode/wince: Removed. 6753 67542013-04-08 Anders Carlsson <andersca@apple.com> 6755 6756 Remove unneeded headers from FrameLoader.h 6757 https://bugs.webkit.org/show_bug.cgi?id=114223 6758 6759 Reviewed by Geoffrey Garen. 6760 6761 * wtf/Forward.h: 6762 Add PrintStream. 6763 6764 * wtf/HashTable.h: 6765 Don't include DataLog.h unless DUMP_HASHTABLE_STATS_PER_TABLE is 1. 6766 67672013-04-10 Laszlo Gombos <l.gombos@samsung.com> 6768 6769 Remove ENABLE_3D_PLUGIN 6770 https://bugs.webkit.org/show_bug.cgi?id=108002 6771 6772 Reviewed by Antti Koivisto. 6773 6774 Remove ENABLE_3D_PLUGIN, it was only used by Chromium. 6775 6776 * wtf/FeatureDefines.h: 6777 67782013-04-09 Patrick Gansterer <paroga@webkit.org> 6779 6780 [CMake] Remove conditional source file lists in WTF 6781 https://bugs.webkit.org/show_bug.cgi?id=114250 6782 6783 Reviewed by Laszlo Gombos. 6784 6785 Use the #ifdef in the source file instead of conditional adding 6786 files to the list of source files. This allows us to remove the 6787 information of enabled features from CMake in next step. 6788 6789 * wtf/CMakeLists.txt: 6790 67912013-04-08 Ryosuke Niwa <rniwa@webkit.org> 6792 6793 Remove WTF.gyp/WTF.gypi 6794 https://bugs.webkit.org/show_bug.cgi?id=114237 6795 6796 Reviewed by Maciej Stachowiak. 6797 6798 * WTF.gyp: Removed. 6799 * WTF.gyp/.gitignore: Removed. 6800 * WTF.gyp/WTF.gyp: Removed. 6801 * WTF.gypi: Removed. 6802 68032013-04-08 Benjamin Poulain <benjamin@webkit.org> 6804 6805 Remove HTML Notification 6806 https://bugs.webkit.org/show_bug.cgi?id=114231 6807 6808 Reviewed by Ryosuke Niwa. 6809 6810 * wtf/FeatureDefines.h: 6811 68122013-04-08 Benjamin Poulain <benjamin@webkit.org> 6813 6814 wtf/dtoa/* uses a confusing name to reference its buffers 6815 https://bugs.webkit.org/show_bug.cgi?id=109709 6816 6817 Reviewed by Darin Adler. 6818 6819 The data structure Vector in wtf/dtoa has nothing to do with a traditional 6820 vector, is it just a pointer and the length of the pointed buffer. 6821 6822 Rename it to BufferReference to avoid mistakes. 6823 6824 * wtf/dtoa/bignum-dtoa.cc: 6825 * wtf/dtoa/bignum-dtoa.h: 6826 * wtf/dtoa/bignum.cc: 6827 * wtf/dtoa/bignum.h: 6828 (Bignum): 6829 * wtf/dtoa/double-conversion.cc: 6830 * wtf/dtoa/fast-dtoa.cc: 6831 * wtf/dtoa/fast-dtoa.h: 6832 * wtf/dtoa/fixed-dtoa.cc: 6833 * wtf/dtoa/fixed-dtoa.h: 6834 (double_conversion): 6835 * wtf/dtoa/strtod.cc: 6836 * wtf/dtoa/strtod.h: 6837 (double_conversion): 6838 * wtf/dtoa/utils.h: 6839 (double_conversion): 6840 (WTF::double_conversion::BufferReference::BufferReference): 6841 (WTF::double_conversion::BufferReference::SubBufferReference): 6842 (StringBuilder): 6843 68442013-04-08 Alberto Garcia <agarcia@igalia.com> 6845 6846 [BlackBerry] MathExtras: macros defined in math.h conflict with the real functions 6847 https://bugs.webkit.org/show_bug.cgi?id=112683 6848 6849 Reviewed by Darin Adler. 6850 6851 After calls to signbit and friends were prefixed with std:: in 6852 r143232, the BlackBerry port no longer compiles. 6853 6854 The solution is to get rid of the macros defined in math.h and use 6855 the real functions instead. 6856 6857 * wtf/MathExtras.h: 6858 68592013-04-08 Max Vujovic <mvujovic@adobe.com> 6860 6861 REGRESSION (r147502): Animations of CA filters broken 6862 https://bugs.webkit.org/show_bug.cgi?id=114067 6863 6864 Reviewed by Dean Jackson. 6865 6866 Revert r147502 [1] because it broke CA filter animations. 6867 6868 [1]: http://trac.webkit.org/changeset/147502 6869 6870 * wtf/Platform.h: 6871 68722013-04-08 Andreas Kling <akling@apple.com> 6873 6874 REGRESSION(r147894): Broke WTFReportBacktrace() on Mac. 6875 <http://webkit.org/b/114174> 6876 6877 Reviewed by Anders Carlsson. 6878 6879 An #elif !OS(ANDROID) block was erroneously removed, turn it into an #else instead since 6880 that path will still be taken for OS(DARWIN). 6881 6882 * wtf/Assertions.cpp: 6883 68842013-04-08 Oliver Hunt <oliver@apple.com> 6885 6886 Build fix. 6887 6888 Remove unnecessary include of <wtf/Forward.h> from Vector.h 6889 6890 * wtf/Vector.h: 6891 68922013-04-08 Csaba Osztrogonác <ossy@webkit.org> 6893 6894 Unreviewed trivial buildfix after r147799. 6895 6896 Add an ifdef guard to ensure Qt uses its own monotonicallyIncreasingTime() 6897 implemenation instead of the GLIB based one. 6898 6899 * wtf/CurrentTime.cpp: 6900 (WTF): 6901 69022013-04-07 Benjamin Poulain <benjamin@webkit.org> 6903 6904 Remove the android code from WebKit Template Framework 6905 https://bugs.webkit.org/show_bug.cgi?id=114138 6906 6907 Reviewed by Dirk Schulze. 6908 6909 * wtf/Assertions.cpp: 6910 * wtf/Atomics.h: 6911 * wtf/MathExtras.h: 6912 * wtf/Platform.h: 6913 * wtf/ThreadIdentifierDataPthreads.cpp: 6914 69152013-04-07 Oliver Hunt <oliver@apple.com> 6916 6917 Add bounds checking for WTF::Vector::operator[] 6918 https://bugs.webkit.org/show_bug.cgi?id=89600 6919 6920 Reviewed by Filip Pizlo. 6921 6922 Add a template parameter to Vector<> that controls whether 6923 bounds checking is performed in release builds or not. 6924 Defaults to crashing on overflow. 6925 6926 * wtf/Forward.h: 6927 (WTF): 6928 * wtf/Vector.h: 6929 (WTF): 6930 (Vector): 6931 (WTF::Vector::at): 6932 (WTF::Vector::removeLast): 6933 (WTF::::Vector): 6934 (WTF::=): 6935 (WTF::::contains): 6936 (WTF::::find): 6937 (WTF::::reverseFind): 6938 (WTF::::fill): 6939 (WTF::::appendRange): 6940 (WTF::::expandCapacity): 6941 (WTF::::tryExpandCapacity): 6942 (WTF::::resize): 6943 (WTF::::shrink): 6944 (WTF::::grow): 6945 (WTF::::reserveCapacity): 6946 (WTF::::tryReserveCapacity): 6947 (WTF::::reserveInitialCapacity): 6948 (WTF::::shrinkCapacity): 6949 (WTF::::append): 6950 (WTF::::tryAppend): 6951 (WTF::::appendSlowCase): 6952 (WTF::::uncheckedAppend): 6953 (WTF::::appendVector): 6954 (WTF::::insert): 6955 (WTF::::prepend): 6956 (WTF::::remove): 6957 (WTF::::reverse): 6958 (WTF::::releaseBuffer): 6959 (WTF::::checkConsistency): 6960 (WTF::deleteAllValues): 6961 (WTF::swap): 6962 (WTF::operator==): 6963 (WTF::operator!=): 6964 69652013-04-07 Patrick Gansterer <paroga@webkit.org> 6966 6967 [WIN] Fix problems with export macros of AutodrainedPool 6968 https://bugs.webkit.org/show_bug.cgi?id=114132 6969 6970 Reviewed by Geoffrey Garen. 6971 6972 Exporting an inline function results in an error with the MS compiler. 6973 6974 * wtf/AutodrainedPool.h: 6975 (AutodrainedPool): 6976 (WTF::AutodrainedPool::AutodrainedPool): 6977 (WTF::AutodrainedPool::~AutodrainedPool): 6978 (WTF::AutodrainedPool::cycle): 6979 69802013-04-07 Patrick Gansterer <paroga@webkit.org> 6981 6982 [WinCE] Add workaround for UNUSED_PARAM() 6983 https://bugs.webkit.org/show_bug.cgi?id=113440 6984 6985 Reviewed by Benjamin Poulain. 6986 6987 The MSVC compiler for Windwos CE throws an error when 6988 an function parameter is passed to UNUSED_PARAM() and 6989 its type is only forward declared. 6990 6991 * wtf/UnusedParam.h: 6992 69932013-04-07 Patrick Gansterer <paroga@webkit.org> 6994 6995 Do not check if WTF_ARM_ARCH_VERSION is defined in WTF_ARM_ARCH_AT_LEAST macro 6996 https://bugs.webkit.org/show_bug.cgi?id=114127 6997 6998 Reviewed by Benjamin Poulain. 6999 7000 Platform.h defines WTF_ARM_ARCH_VERSION for CPU(ARM) always and removing 7001 the check works around a bug in older Microsoft compiler versions. 7002 7003 * wtf/Platform.h: 7004 70052013-04-07 David Kilzer <ddkilzer@apple.com> 7006 7007 Remove the rest of SVG_DOM_OBJC_BINDINGS 7008 <http://webkit.org/b/114112> 7009 7010 Reviewed by Geoffrey Garen. 7011 7012 * wtf/FeatureDefines.h: 7013 - Remove ENABLE_SVG_DOM_OBJC_BINDINGS macro. 7014 70152013-04-06 Geoffrey Garen <ggaren@apple.com> 7016 7017 Removed v8 bindings hooks from IDL files 7018 https://bugs.webkit.org/show_bug.cgi?id=114091 7019 7020 Reviewed by Anders Carlsson and Sam Weinig. 7021 7022 * wtf/ArrayBuffer.h: 7023 (WTF): 7024 (WTF::ArrayBufferContents::ArrayBufferContents): 7025 (WTF::ArrayBufferContents::transfer): 7026 (ArrayBufferContents): 7027 (ArrayBuffer): 7028 (WTF::ArrayBufferContents::~ArrayBufferContents): 7029 * wtf/Platform.h: 7030 70312013-04-05 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 7032 7033 [GTK] Change from PLATFORM(GTK) to USE(GLIB) in WTF/CurrentTime.cpp 7034 https://bugs.webkit.org/show_bug.cgi?id=114061 7035 7036 Reviewed by Gustavo Noronha Silva. 7037 7038 Now other ports using GLib can use the correct implementation 7039 and not the fallback one without adding any other PLATFORM guards 7040 here. 7041 7042 * wtf/CurrentTime.cpp: 7043 (WTF): 7044 70452013-04-05 Geoffrey Garen <ggaren@apple.com> 7046 7047 Made USE(JSC) unconditional 7048 https://bugs.webkit.org/show_bug.cgi?id=114058 7049 7050 Reviewed by Anders Carlsson. 7051 7052 * wtf/ThreadRestrictionVerifier.h: 7053 (WTF): 7054 * wtf/WTFThreadData.cpp: 7055 (WTF::WTFThreadData::WTFThreadData): 7056 (WTF::WTFThreadData::~WTFThreadData): 7057 * wtf/WTFThreadData.h: 7058 (WTFThreadData): 7059 * wtf/text/StringImpl.cpp: 7060 (WTF::StringImpl::~StringImpl): 7061 70622013-04-05 Roger Fong <roger_fong@apple.com> 7063 7064 More VS2010 solution makefile fixes. 7065 <rdar://problem/13588964> 7066 7067 * WTF.vcxproj/WTF.make: 7068 70692013-04-05 Anders Carlsson <andersca@apple.com> 7070 7071 Remove more dead Chromium code from WTF 7072 https://bugs.webkit.org/show_bug.cgi?id=114037 7073 7074 Reviewed by Allan Sandfeld Jensen. 7075 7076 * wtf/CurrentTime.cpp: 7077 (WTF): 7078 * wtf/DisallowCType.h: 7079 * wtf/ExportMacros.h: 7080 * wtf/MainThread.cpp: 7081 * wtf/Platform.h: 7082 70832013-04-05 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> 7084 7085 [EFL] Disable GLOBAL_FAST_MALLOC_NEW by default. 7086 https://bugs.webkit.org/show_bug.cgi?id=114031 7087 7088 Reviewed by Alexis Menard. 7089 7090 Follow what some other ports already do and avoid globally overriding 7091 the `new' and `delete' operators with the ones in FastMalloc. 7092 7093 In many cases, third-party or client code allocates memory with 7094 standard library calls but the memory gets deleted by FastMalloc, 7095 causing a crash. The reverse (ie. memory being allocated by FastMalloc 7096 and freed by the system libraries) is also possible. 7097 7098 Commits 135666 and 121018 provide more information about this, as well 7099 as comment 6 in bug 89358. 7100 7101 * wtf/Platform.h: 7102 71032013-04-05 Benjamin Poulain <bpoulain@apple.com> 7104 7105 Remove WTFURL from WebKit 7106 https://bugs.webkit.org/show_bug.cgi?id=113994 7107 7108 Reviewed by Ryosuke Niwa. 7109 7110 Painful, but that is for the best now :( 7111 7112 * GNUmakefile.list.am: 7113 * WTF.xcodeproj/project.pbxproj: 7114 * wtf/MemoryInstrumentationParsedURL.h: Removed. 7115 * wtf/url/api/ParsedURL.cpp: Removed. 7116 * wtf/url/api/ParsedURL.h: Removed. 7117 * wtf/url/api/URLBuffer.h: Removed. 7118 * wtf/url/api/URLQueryCharsetConverter.h: Removed. 7119 * wtf/url/api/URLString.cpp: Removed. 7120 * wtf/url/api/URLString.h: Removed. 7121 * wtf/url/src/RawURLBuffer.h: Removed. 7122 * wtf/url/src/URLCanon.h: Removed. 7123 * wtf/url/src/URLCanonEtc.cpp: Removed. 7124 * wtf/url/src/URLCanonFilesystemurl.cpp: Removed. 7125 * wtf/url/src/URLCanonFileurl.cpp: Removed. 7126 * wtf/url/src/URLCanonHost.cpp: Removed. 7127 * wtf/url/src/URLCanonICU.cpp: Removed. 7128 * wtf/url/src/URLCanonIP.cpp: Removed. 7129 * wtf/url/src/URLCanonInternal.cpp: Removed. 7130 * wtf/url/src/URLCanonInternal.h: Removed. 7131 * wtf/url/src/URLCanonMailto.cpp: Removed. 7132 * wtf/url/src/URLCanonPath.cpp: Removed. 7133 * wtf/url/src/URLCanonPathurl.cpp: Removed. 7134 * wtf/url/src/URLCanonQuery.cpp: Removed. 7135 * wtf/url/src/URLCanonRelative.cpp: Removed. 7136 * wtf/url/src/URLCanonStdURL.cpp: Removed. 7137 * wtf/url/src/URLCharacterTypes.cpp: Removed. 7138 * wtf/url/src/URLCharacterTypes.h: Removed. 7139 * wtf/url/src/URLComponent.h: Removed. 7140 * wtf/url/src/URLFile.h: Removed. 7141 * wtf/url/src/URLParse.cpp: Removed. 7142 * wtf/url/src/URLParse.h: Removed. 7143 * wtf/url/src/URLParseFile.cpp: Removed. 7144 * wtf/url/src/URLParseInternal.h: Removed. 7145 * wtf/url/src/URLSegments.cpp: Removed. 7146 * wtf/url/src/URLSegments.h: Removed. 7147 * wtf/url/src/URLUtil.cpp: Removed. 7148 * wtf/url/src/URLUtil.h: Removed. 7149 * wtf/url/src/URLUtilInternal.h: Removed. 7150 71512013-04-04 Geoffrey Garen <ggaren@apple.com> 7152 7153 Nixed the defunct chromium folder from WTF 7154 https://bugs.webkit.org/show_bug.cgi?id=113992 7155 7156 Reviewed by Ryosuke Niwa. 7157 7158 * wtf/chromium: Removed. 7159 * wtf/chromium/ChromiumThreading.h: Removed. 7160 * wtf/chromium/MainThreadChromium.cpp: Removed. 7161 71622013-04-04 Martin Robinson <mrobinson@igalia.com> 7163 7164 [GTK] Remove the gyp build 7165 https://bugs.webkit.org/show_bug.cgi?id=113942 7166 7167 Reviewed by Gustavo Noronha Silva. 7168 7169 * WTF.gyp/WTFGTK.gyp: Removed. 7170 71712013-04-04 Anders Carlsson <andersca@apple.com> 7172 7173 ObjcRuntimeExtras.h should use variadic templates 7174 https://bugs.webkit.org/show_bug.cgi?id=113941 7175 7176 Reviewed by Andreas Kling. 7177 7178 Reimplement wtfObjcMsgSend and wtfCallIMP as variadic function templates. 7179 7180 * wtf/ObjcRuntimeExtras.h: 7181 (wtfObjcMsgSend): 7182 (wtfCallIMP): 7183 71842013-04-04 Andras Becsi <andras.becsi@digia.com> 7185 7186 Fix the build with GCC 4.8 7187 https://bugs.webkit.org/show_bug.cgi?id=113147 7188 7189 Reviewed by Allan Sandfeld Jensen. 7190 7191 Disable diagnostic warning -Wunused-local-typedefs for GCC 4.8 7192 since dummy typedefs are commonly used in the codebase. 7193 7194 * wtf/Compiler.h: 7195 71962013-04-03 Pratik Solanki <psolanki@apple.com> 7197 7198 Enable HAVE_MADV_FREE_REUSE on iOS 7199 https://bugs.webkit.org/show_bug.cgi?id=113892 7200 <rdar://problem/12787563> 7201 7202 Reviewed by Mark Rowe. 7203 7204 * wtf/Platform.h: 7205 72062013-04-02 Ryosuke Niwa <rniwa@webkit.org> 7207 7208 Remove code for Mac 10.5 and earlier from WTF and WebKit2 7209 https://bugs.webkit.org/show_bug.cgi?id=113844 7210 7211 Reviewed by Benjamin Poulain. 7212 7213 Removed the code for 10.5 and removed if-def for 10.6. 7214 7215 * wtf/FastMalloc.cpp: 7216 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 7217 * wtf/Platform.h: 7218 * wtf/ThreadingPthreads.cpp: 7219 (WTF::initializeCurrentThreadInternal): 7220 * wtf/unicode/icu/CollatorICU.cpp: 7221 (WTF::Collator::userDefault): 7222 72232013-04-02 Max Vujovic <mvujovic@adobe.com> 7224 7225 [CSS Filters] Filter outsets clipped on composited layers when filter is applied after first layout 7226 https://bugs.webkit.org/show_bug.cgi?id=109098 7227 7228 Reviewed by Dean Jackson. 7229 7230 * wtf/Platform.h: 7231 Add flag for HAVE(COMPOSITOR_FILTER_OUTSETS) macro. This is used to check if a 7232 platform's compositor expands layers internally for filter outsets when it applies 7233 filters like drop-shadow and blur. Currently, only CoreAnimation does has this 7234 capability. 7235 72362013-04-02 Yury Semikhatsky <yurys@chromium.org> 7237 7238 Web Inspector: memory instrumentation for external arrays is broken 7239 https://bugs.webkit.org/show_bug.cgi?id=113790 7240 7241 Reviewed by Pavel Feldman. 7242 7243 * wtf/MemoryInstrumentationArrayBufferView.h: report buffer pointer as retaining one as 7244 we know that the pointer is not broken. 7245 (WTF::reportMemoryUsage): 7246 72472013-04-01 Han Shen <shenhan@google.com> 7248 7249 Move definition of nested classes that inherit enclosing class outside class definition. 7250 https://bugs.webkit.org/show_bug.cgi?id=113454 7251 7252 Reviewed by Benjamin Poulain. 7253 7254 HashMap.h does not build on GCC 4.8. Inside this file, 7255 HashMapKeysProxy and HashMapValuesProxy are defined as nested 7256 class inside HashMap - which is legal - the illegal part is that 7257 these 2 classes inherit HashMap, that is the enclosing class, that 7258 causes "reference to in-complete definition" error. 7259 7260 The fix is to move outside the definition of these 2 classes, and 7261 leave only declaration part inside HashMap as is illustrated below - 7262 7263 template class <typename T> 7264 class HashMap { 7265 ... ... 7266 ... ... 7267 private: 7268 class HashMapKeysProxy; 7269 7270 // ERROR - nested class inherits enclosing class. 7271 class HashMapKeysProxy : private HashMap { 7272 ... ... 7273 }; 7274 ... ... 7275 ... ... 7276 class HashMapKeysProxy : private HashMap { 7277 ... ... 7278 }; 7279 ... ... 7280 ... ... 7281 }; 7282 7283 Fixed as below: 7284 template class <typename T> 7285 class HashMap { 7286 ... ... 7287 ... ... 7288 private: 7289 class HashMapKeysProxy; 7290 class HashMapValuesProxy; 7291 7292 ... ... 7293 ... ... 7294 }; 7295 7296 template <typename T> 7297 class HashMap<T>::HashMapKeysProxy : private HashMap<T> { 7298 ... ... 7299 }; 7300 7301 template <typename T> 7302 class HashMap<T>::HashMapValuesProxy : private HashMap<T> { 7303 ... ... 7304 }; 7305 7306 * wtf/HashMap.h: 7307 (HashMap): 7308 (WTF): Factor out nested class definition from enclosing class. 7309 73102013-03-31 Mark Hahnenberg <mhahnenberg@apple.com> 7311 7312 Regions should be allocated from the same contiguous segment of virtual memory 7313 https://bugs.webkit.org/show_bug.cgi?id=113662 7314 7315 Reviewed by Filip Pizlo. 7316 7317 Instead of letting the OS spread our Regions all over the place, we should allocate them all within 7318 some range of each other. This change will open the door to some other optimizations, e.g. doing simple 7319 range checks for our write barriers and compressing JSCell pointers to 32-bits. 7320 7321 * wtf/MetaAllocator.cpp: Changed the MetaAllocator to allow custom page sizes if the derived class wants to 7322 use something other than the system page size. 7323 (WTF::MetaAllocator::MetaAllocator): 7324 * wtf/MetaAllocator.h: 7325 (MetaAllocator): 7326 73272013-04-01 Yury Semikhatsky <yurys@chromium.org> 7328 7329 Web Inspector: add memory instrumentation for StringBuffer 7330 https://bugs.webkit.org/show_bug.cgi?id=113507 7331 7332 Reviewed by Pavel Feldman. 7333 7334 Added memory instrumentation for StringBuffer. 7335 7336 * wtf/MemoryInstrumentationString.h: 7337 (WTF): 7338 (WTF::reportMemoryUsage): 7339 73402013-03-30 Tom Sepez <tsepez@chromium.org> 7341 7342 View-source iframes are dangerous (and not very useful). 7343 https://bugs.webkit.org/show_bug.cgi?id=113345 7344 7345 Reviewed by Adam Barth. 7346 7347 * wtf/FeatureDefines.h: 7348 Default definition of ENABLE_VIEWSOURCE_ATTRIBUTE is enabled. 7349 73502013-03-27 Patrick Gansterer <paroga@webkit.org> 7351 7352 Set WTF_ARM_ARCH_VERSION to correct value when used with MSVC 7353 https://bugs.webkit.org/show_bug.cgi?id=113436 7354 7355 Reviewed by Benjamin Poulain. 7356 7357 The Microsoft compiler defines _M_ARM with used ARM version. 7358 7359 * wtf/Platform.h: 7360 73612013-03-27 Allan Sandfeld Jensen <allan.jensen@digia.com> 7362 7363 Support C++11 static_assert 7364 https://bugs.webkit.org/show_bug.cgi?id=113308 7365 7366 Reviewed by Alexey Proskuryakov. 7367 7368 Use the C++11 static_assert for COMPILE_ASSERT when it is available. Note that 7369 even when compiling with C++11 support, static_assert will not always be available 7370 since Assertions.h may also be used outside of C++. 7371 7372 C11 _Static_assert is enabled for GCC when it has C11 support (gcc>=4.7 -std=c11). 7373 7374 * wtf/Assertions.h: 7375 * wtf/Compiler.h: 7376 73772013-03-25 Oliver Hunt <oliver@apple.com> 7378 7379 RefCountedArray needs a size based constructor 7380 https://bugs.webkit.org/show_bug.cgi?id=113277 7381 7382 Reviewed by Benjamin Poulain. 7383 7384 Simple patch to add a size based constructor for RefCountedArray 7385 so that we can create an sharable array without a copy. 7386 7387 * wtf/RefCountedArray.h: 7388 (RefCountedArray): 7389 (WTF::RefCountedArray::RefCountedArray): 7390 73912013-03-26 James Robinson <jamesr@chromium.org> 7392 7393 Compile fix - OS(WINDOWS), not OS(WIN). 7394 7395 * wtf/ProcessID.h: 7396 (WTF::getCurrentProcessID): 7397 73982013-03-26 James Robinson <jamesr@chromium.org> 7399 7400 Fix compile for OS(WIN) != PLATFORM(WIN) 7401 https://bugs.webkit.org/show_bug.cgi?id=113356 7402 7403 Reviewed by Tim Horton. 7404 7405 * wtf/ProcessID.h: 7406 (WTF::getCurrentProcessID): 7407 74082013-03-23 Filip Pizlo <fpizlo@apple.com> 7409 7410 JSC_enableProfiler=true should also cause JSGlobalData to save the profiler output somewhere 7411 https://bugs.webkit.org/show_bug.cgi?id=113144 7412 7413 Reviewed by Geoffrey Garen. 7414 7415 I got tired of the fact that getpid(2) is not a syscall on Windows (unless you do 7416 _getpid() I believe), so I wrote a header that abstracts it. I also changed existing 7417 code that uses getpid() to use WTF::getCurrentProcessID(). 7418 7419 * GNUmakefile.list.am: 7420 * WTF.gypi: 7421 * WTF.pro: 7422 * WTF.vcproj/WTF.vcproj: 7423 * WTF.xcodeproj/project.pbxproj: 7424 * wtf/CMakeLists.txt: 7425 * wtf/MetaAllocator.cpp: 7426 (WTF::MetaAllocator::dumpProfile): 7427 * wtf/ProcessID.h: Added. 7428 (WTF): 7429 (WTF::getCurrentProcessID): 7430 * wtf/text/StringImpl.cpp: 7431 (WTF::StringStats::printStats): 7432 74332013-03-25 Kent Tamura <tkent@chromium.org> 7434 7435 Rename ENABLE_INPUT_TYPE_DATETIME 7436 https://bugs.webkit.org/show_bug.cgi?id=113254 7437 7438 Reviewed by Kentaro Hara. 7439 7440 Rename ENABLE_INPUT_TYPE_DATETIME to ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE. 7441 Actually I'd like to remove the code, but we shouldn't remove it yet 7442 because we shipped products with it on some platforms. 7443 7444 * wtf/FeatureDefines.h: 7445 74462013-03-25 David Kilzer <ddkilzer@apple.com> 7447 7448 WTF::binarySearchImpl() should compile with -Wshorten-64-to-32 7449 <http://webkit.org/b/113170> 7450 7451 Reviewed by Dan Bernstein. 7452 7453 Fixes the following build failure: 7454 7455 /usr/local/include/wtf/StdLibExtras.h:190:30: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32] 7456 int pos = (size - 1) >> 1; 7457 ~~~ ~~~~~~~~~~~^~~~ 7458 1 error generated. 7459 7460 * wtf/StdLibExtras.h: 7461 (WTF::binarySearchImpl): Switch type from int to size_t. 7462 74632013-03-22 Benjamin Poulain <bpoulain@apple.com> 7464 7465 Remove 2 bad branches from StringHash::equal() and CaseFoldingHash::equal() 7466 https://bugs.webkit.org/show_bug.cgi?id=113003 7467 7468 Reviewed by Eric Seidel. 7469 7470 StringHash::equal() and CaseFoldingHash::equal() were both testing for 7471 the nullity of the two input pointers. The catch is: neither traits handle 7472 null pointers, and any client code would have crashed on hash(), before equal() 7473 is called. 7474 Consequently, the two branches had a pass rate of zero when called from a HashMap code. 7475 7476 The function is also never inlined because it is too big (the code of equal() for characters 7477 is always inlined, causing the function to be quite big). 7478 7479 This patch introduces two new functions in the StringImpl API: equalNonNull() and 7480 equalIgnoringCaseNonNull(). Those functions are similar to their equal() equivalent 7481 but make the assumtion the input is never null. 7482 7483 The functions are used for StringHash to avoid the useless branches. 7484 7485 * wtf/text/StringHash.h: 7486 (WTF::StringHash::equal): 7487 (WTF::CaseFoldingHash::equal): 7488 * wtf/text/StringImpl.cpp: 7489 (WTF::stringImplContentEqual): 7490 (WTF::equal): 7491 (WTF::equalNonNull): 7492 (WTF::equalIgnoringCase): 7493 (WTF::equalIgnoringCaseNonNull): 7494 (WTF::equalIgnoringNullity): 7495 * wtf/text/StringImpl.h: 7496 (WTF::equalIgnoringCase): 7497 74982013-03-22 Benjamin Poulain <bpoulain@apple.com> 7499 7500 Name correctly the argument of StringImpl::setIsAtomic() 7501 https://bugs.webkit.org/show_bug.cgi?id=113000 7502 7503 Reviewed by Geoffrey Garen. 7504 7505 * wtf/text/StringImpl.h: 7506 (WTF::StringImpl::setIsAtomic): 7507 The argument was probably an unfortunate copy-paste from setIsIdentifier(). 7508 Fix the name. 7509 75102013-03-22 Hajime Morrita <morrita@google.com> 7511 7512 Custom Elements: "readyCallback" lifecycle callback should be called. 7513 https://bugs.webkit.org/show_bug.cgi?id=112538 7514 7515 Reviewed by Elliott Sprehn. 7516 7517 * wtf/HashSet.h: 7518 (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet. 7519 75202013-03-22 Sheriff Bot <webkit.review.bot@gmail.com> 7521 7522 Unreviewed, rolling out r146534 and r146565. 7523 http://trac.webkit.org/changeset/146534 7524 http://trac.webkit.org/changeset/146565 7525 https://bugs.webkit.org/show_bug.cgi?id=113017 7526 7527 "r146534 caused perf regression on Chromium Linux x64" 7528 (Requested by yurys on #webkit). 7529 7530 * wtf/HashSet.h: 7531 (WTF): 7532 (WTF::copyToVector): 7533 75342013-03-21 Hajime Morrita <morrita@google.com> 7535 7536 Custom Elements: "readyCallback" lifecycle callback should be called. 7537 https://bugs.webkit.org/show_bug.cgi?id=112538 7538 7539 Reviewed by Elliott Sprehn. 7540 7541 * wtf/HashSet.h: 7542 (WTF::copyToVector): Generalized to let it accept variants like ListHahsSet instead of only HashSet. 7543 75442013-03-21 Mark Lam <mark.lam@apple.com> 7545 7546 Introducing String::findNextLineStart(). 7547 https://bugs.webkit.org/show_bug.cgi?id=112957. 7548 7549 Reviewed by Geoffrey Garen. 7550 7551 This is replaces String::reverseFindLineTerminator() in the JSC 7552 debugger's code for computing column numbers. 7553 7554 * wtf/text/StringImpl.cpp: 7555 (WTF::StringImpl::findNextLineStart): 7556 * wtf/text/StringImpl.h: 7557 (WTF::findNextLineStart): 7558 * wtf/text/WTFString.h: 7559 (WTF::String::findNextLineStart): 7560 75612013-03-21 Adam Barth <abarth@webkit.org> 7562 7563 HTMLNames should construct strings at compile time 7564 https://bugs.webkit.org/show_bug.cgi?id=112831 7565 7566 Reviewed by Darin Adler. 7567 7568 * wtf/text/StringImpl.h: 7569 (StringImpl): 7570 (StaticASCIILiteral): 7571 - This struct lets us construct StringImpl objects at compile time. 7572 (WTF::StringImpl::assertHashIsCorrect): 7573 - This function lets us sanity check StringImpl objects created from StaticData. 7574 (WTF::StringImpl::find): Remove a stray ; 7575 (WTF::StringImpl::findIgnoringCase): ditto 7576 (WTF::StringImpl::startsWith): ditto 7577 (WTF::ValueCheck<StringImpl*>): 7578 * wtf/text/AtomicStringImpl.h: 7579 (WTF::ValueCheck<AtomicStringImpl*>): 7580 75812013-03-21 Gabor Rapcsanyi <rgabor@webkit.org> 7582 7583 Implement LLInt for CPU(ARM_TRADITIONAL) 7584 https://bugs.webkit.org/show_bug.cgi?id=97589 7585 7586 Reviewed by Zoltan Herczeg. 7587 7588 Enable LLInt for ARMv5 and ARMv7 traditional as well. 7589 7590 * wtf/Platform.h: 7591 75922013-03-20 Sheriff Bot <webkit.review.bot@gmail.com> 7593 7594 Unreviewed, rolling out r146419. 7595 http://trac.webkit.org/changeset/146419 7596 https://bugs.webkit.org/show_bug.cgi?id=112870 7597 7598 Broke many tests on debug builds (Requested by rniwa_ on 7599 #webkit). 7600 7601 * wtf/text/StringImpl.h: 7602 (StringImpl): 7603 76042013-03-20 Adam Barth <abarth@webkit.org> 7605 7606 HTMLNames should construct strings at compile time 7607 https://bugs.webkit.org/show_bug.cgi?id=112831 7608 7609 Reviewed by Darin Adler. 7610 7611 * wtf/text/StringImpl.h: 7612 (StringImpl): 7613 (StaticASCIILiteral): 7614 - This struct lets us construct StringImpl objects at compile time. 7615 (WTF::StringImpl::assertValidHash): 7616 - This function lets us sanity check StringImpl objects created from StaticData. 7617 76182013-03-20 Jessie Berlin <jberlin@apple.com> 7619 7620 REGRESSION(r145592): AutodrainedPool.h. RunLoopTimer.h, SchedulePair.h are being copied into 7621 the wrong location 7622 https://bugs.webkit.org/show_bug.cgi?id=112833 7623 7624 Reviewed by Darin Adler. 7625 7626 * WTF.xcodeproj/project.pbxproj: 7627 Make sure those three headers are copied with the rest of the WTF headers. 7628 76292013-03-20 Mark Rowe <mrowe@apple.com> 7630 7631 FastMalloc scavenge timer specifies an overly narrow leeway value. 7632 7633 Reviewed by Alexey Proskuryakov. 7634 7635 There's no need to allow only 1ms of leeway on a 2s timer. 7636 7637 * wtf/FastMalloc.cpp: 7638 (WTF::TCMalloc_PageHeap::initializeScavenger): Bump the leeway window 7639 to 10% of the scavenge timer. 7640 76412013-03-20 JungJik Lee <jungjik.lee@samsung.com> 7642 7643 [EFL] Disable REQUEST_ANIMATION_FRAME_TIMER to render a new animation frame. 7644 https://bugs.webkit.org/show_bug.cgi?id=112114 7645 7646 Reviewed by Kenneth Rohde Christiansen. 7647 7648 The issue is that if the animation starts outside of the area covered by keepRects, 7649 the web process does not create tiles of the animation layer and the layer moves 7650 without having any tiles. In order to fix this issue, CoordinatedLayerHost must call 7651 scheduleLayerFlush to create new tiles when the layer enters the area covered by keepRect. 7652 However EFL port didn't call scheduleLayerFlush periodically for animation. 7653 We can tie scripted animations with synchronization of the layer and that already 7654 has been implemented in r123786 by Qt port. This patch is for activating r123786 patch. 7655 7656 The testing is covered by ManualTests/animation/transition-on-and-offscreen-animation.html 7657 7658 * wtf/Platform.h: Disable REQUEST_ANIMATION_FRAME_TIMER. 7659 76602013-03-20 Mark Lam <mark.lam@apple.com> 7661 7662 Introducing String::reverseFindLineTerminator(). 7663 https://bugs.webkit.org/show_bug.cgi?id=112741. 7664 7665 Reviewed by Oliver Hunt. 7666 7667 This is needed by the JSC debugger code for computing column numbers. 7668 7669 * wtf/text/StringImpl.cpp: 7670 (WTF::StringImpl::reverseFindLineTerminator): 7671 * wtf/text/StringImpl.h: 7672 (StringImpl): 7673 (WTF::reverseFindLineTerminator): 7674 * wtf/text/WTFString.h: 7675 (WTF::String::reverseFindLineTerminator): 7676 76772013-03-19 Martin Robinson <mrobinson@igalia.com> 7678 7679 Fix the WTF gyp build for GTK+. 7680 7681 * WTF.gyp/WTFGTK.gyp: Skip files with CF in the name. 7682 76832013-03-19 Alberto Garcia <agarcia@igalia.com> 7684 7685 [BlackBerry] Enable USE_SYSTEM_MALLOC by default 7686 https://bugs.webkit.org/show_bug.cgi?id=112365 7687 7688 Reviewed by Benjamin Poulain. 7689 7690 Enable USE_SYSTEM_MALLOC by default via FeatureList.pm instead of 7691 harcoding it in wtf/Platform.h 7692 7693 * wtf/Platform.h: 7694 76952013-03-18 Benjamin Poulain <benjamin@webkit.org> 7696 7697 [iOS] Make a UChar string equal() based on the LChar version 7698 https://bugs.webkit.org/show_bug.cgi?id=112495 7699 7700 Reviewed by David Kilzer. 7701 7702 * wtf/text/StringImpl.h: 7703 (WTF::equal): 7704 Create a equal() function for UChar based on the work done for LChar. 7705 7706 On A6, this is a speed up of about 40% for any string of 2 or more characters. 7707 It is slower by 8% on a single UChar comparison. 7708 77092013-03-18 Brent Fulgham <bfulgham@webkit.org> 7710 7711 [WinCairo] Get build working under VS2010. 7712 https://bugs.webkit.org/show_bug.cgi?id=112604 7713 7714 Reviewed by Tim Horton. 7715 7716 * WTF.vcxproj/WTF.vcxproj: Add Debug_WinCairo and Release_WinCairo 7717 targets so headers get copied to appropriate build folder. 7718 * WTF.vcxproj/WTFGenerated.vcxproj: Ditto. 7719 77202013-03-15 Benjamin Poulain <bpoulain@apple.com> 7721 7722 [iOS] Update StringImpl's equal to have a single version on all supported Apple CPUs 7723 https://bugs.webkit.org/show_bug.cgi?id=112400 7724 7725 Reviewed by Michael Saboff. 7726 7727 * wtf/text/StringImpl.h: 7728 (WTF::equal): 7729 Tweak the code to make it work on older Apple CPUs: 7730 -Use external "ouput" variable instead of the registers R9 and R12. This gets rid 7731 of some register pressure previously imposed on the compiler. (Clang nicely 7732 choose R9 and R12 when needed, following iOS ABI). 7733 -Instead of using "R3" for storing the length / 4, update the length by -4 on 7734 each iteration and work in the negative space for the tail. This frees one register 7735 which is then used for isEqual. 7736 -Get rid of the unconditional branch from the loop. By using subs and working in the 7737 negative space, we can test for the Carry flag to jump back to the next LDR. 7738 77392013-03-15 Benjamin Poulain <bpoulain@apple.com> 7740 7741 [iOS] Fix the length pass to memcmp in the fallback versions of String's equal 7742 https://bugs.webkit.org/show_bug.cgi?id=112463 7743 7744 Reviewed by Ryosuke Niwa. 7745 7746 * wtf/text/StringImpl.h: 7747 (WTF::equal): It might be a good idea to compare the full UChar strings... 7748 77492013-03-15 Michael Saboff <msaboff@apple.com> 7750 7751 Add runtime check for improper register allocations in DFG 7752 https://bugs.webkit.org/show_bug.cgi?id=112380 7753 7754 Reviewed by Geoffrey Garen. 7755 7756 * wtf/Platform.h: Added new ENABLE_DFG_REGISTER_ALLOCATION_VALIDATION compilation flag to 7757 enable generation of register allocation checking. This is on for debug builds. 7758 77592013-03-13 Jessie Berlin <jberlin@apple.com> 7760 7761 Remove svn:executable from a file that isn't supposed to be executable. 7762 7763 Rubber-stamped by Geoff Garen. 7764 7765 * wtf/MediaTime.h: 7766 77672013-03-13 Oliver Hunt <oliver@apple.com> 7768 7769 Simplify Checked<> multiplication 7770 https://bugs.webkit.org/show_bug.cgi?id=112286 7771 7772 Reviewed by James Robinson. 7773 7774 Trying to correctly identify multiplication by zero complicated the 7775 unsigned * unsigned multiply, and still didn't handle all cases correctly. 7776 Now we just do the normal division based approach to overflow detection 7777 leading to much simpler reasoning. 7778 7779 Would be nice if we could have a jo style intrinsic one day. 7780 7781 * wtf/CheckedArithmetic.h: 7782 77832013-03-13 Dean Jackson <dino@apple.com> 7784 7785 Unreviewed attempted build fix for Windows. SchedulePair.cpp -> SchedulePairCF.cpp 7786 7787 * WTF.vcproj/WTF.vcproj: 7788 * WTF.vcxproj/WTF.vcxproj: 7789 * WTF.vcxproj/WTF.vcxproj.filters: 7790 77912013-03-13 Benjamin Poulain <bpoulain@apple.com> 7792 7793 [iOS] Add optimized version of StringImpl's equal(LChar*,LChar*) for Apple CPUs 7794 https://bugs.webkit.org/show_bug.cgi?id=112202 7795 7796 Reviewed by Gavin Barraclough. 7797 7798 * Source/WTF/wtf/Platform.h: 7799 Make the macro WTF_ARM_ARCH_VERSION valid on any architecture. 7800 * wtf/text/StringImpl.h: 7801 (WTF::equal): 7802 On ARMv7S, the new version is about 11% percent faster than the simple loop. 7803 On ARMv7 classic, memcmp is a little faster than the simple loop on Apple A5. 7804 78052013-03-13 James Robinson <jamesr@chromium.org> 7806 7807 SchedulePair.cpp is CF-specific 7808 https://bugs.webkit.org/show_bug.cgi?id=112204 7809 7810 Reviewed by Oliver Hunt. 7811 7812 This renames SchedulePair.cpp SchedulePairCF.cpp, since it depends on CF, and excludes it from chromium's gyp 7813 files. 7814 7815 * WTF.gyp/WTF.gyp: 7816 Add CF to the exclusion filter for the Chromium port. 7817 * WTF.gypi: 7818 Add SchedulePairCF.cpp 7819 * WTF.xcodeproj/project.pbxproj: 7820 Update project file to point to new .cpp location 7821 * wtf/SchedulePairCF.cpp: Renamed from Source/WTF/wtf/SchedulePair.cpp. 7822 78232013-03-13 Allan Sandfeld Jensen <allan.jensen@digia.com> 7824 7825 Support C++11 features in GCC <4.6 7826 https://bugs.webkit.org/show_bug.cgi?id=111553 7827 7828 Reviewed by Simon Hausmann. 7829 7830 Enable support for rvalue references from gcc 4.3, deleted functions 7831 from gcc 4.4, explicit conversion from gcc 4.5, and strongly typed 7832 enums from gcc 4.6. 7833 7834 * wtf/Compiler.h: 7835 78362013-03-12 Geoffrey Garen <ggaren@apple.com> 7837 7838 Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592. 7839 7840 * wtf/SchedulePair.cpp: 7841 * wtf/SchedulePair.h: 7842 (WTF::SchedulePair::SchedulePair): Since linking is failing, 7843 try inlining this function. 7844 78452013-03-12 Tim Horton <timothy_horton@apple.com> 7846 7847 Typo in earlier Windows build fix. Unreviewed. 7848 7849 * WTF.vcproj/WTF.vcproj: 7850 78512013-03-12 Tim Horton <timothy_horton@apple.com> 7852 7853 Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592. 7854 7855 * WTF.vcproj/WTF.vcproj: 7856 * WTF.vcxproj/WTF.vcxproj: 7857 * WTF.vcxproj/WTF.vcxproj.filters: 7858 78592013-03-12 James Robinson <jamesr@chromium.org> 7860 7861 Build fix for r145592 - update gyp files to refer to new file locations. 7862 7863 * WTF.gypi: 7864 78652013-03-12 Geoffrey Garen <ggaren@apple.com> 7866 7867 Moved RunLoopTimer and SchedulePair to WTF 7868 https://bugs.webkit.org/show_bug.cgi?id=112171 7869 7870 Reviewed by Oliver Hunt. 7871 7872 This will allow us to use timers in lower level primitives without 7873 duplicating all the code. 7874 7875 * WTF.xcodeproj/project.pbxproj: 7876 * wtf/AutodrainedPool.h: Copied from Source/WebCore/platform/AutodrainedPool.h. 7877 (AutodrainedPool): 7878 * wtf/AutodrainedPoolMac.mm: Copied from Source/WebCore/platform/mac/AutodrainedPool.mm. 7879 * wtf/RunLoopTimer.h: Copied from Source/WebCore/platform/RunLoopTimer.h. 7880 * wtf/RunLoopTimerCF.cpp: Copied from Source/WebCore/platform/cf/RunLoopTimerCF.cpp. 7881 * wtf/SchedulePair.cpp: Copied from Source/WebCore/platform/cf/SchedulePair.cpp. 7882 * wtf/SchedulePair.h: Copied from Source/WebCore/platform/cf/SchedulePair.h. 7883 (SchedulePair): 7884 * wtf/SchedulePairMac.mm: Copied from Source/WebCore/platform/mac/SchedulePairMac.mm. 7885 78862013-03-12 Oliver Hunt <oliver@apple.com> 7887 7888 Add more Checked<> tests 7889 https://bugs.webkit.org/show_bug.cgi?id=112190 7890 7891 Reviewed by Geoffrey Garen. 7892 7893 Export the CheckedState enum type 7894 7895 * wtf/CheckedArithmetic.h: 7896 78972013-03-12 Oliver Hunt <oliver@apple.com> 7898 7899 Make CheckedArithmetic slightly more sane 7900 https://bugs.webkit.org/show_bug.cgi?id=112178 7901 7902 Reviewed by Geoffrey Garen. 7903 7904 Add an enum type for safeGet rather than using a bool, 7905 and correctly handle unsigned * unsigned, when one value 7906 is 0. 7907 7908 * wtf/CheckedArithmetic.h: 7909 (WTF::ENUM_CLASS): 7910 (WTF): 7911 (WTF::operator+): 7912 (WTF::operator-): 7913 (WTF::operator*): 7914 79152013-03-11 Michael Saboff <msaboff@apple.com> 7916 7917 Unreviewed build fix. Rolling out inadvertent setting of DATA_LOG_TO_FILE. 7918 79192013-03-11 Oliver Hunt <oliver@apple.com> 7920 7921 Make SegmentedVector Noncopyable 7922 https://bugs.webkit.org/show_bug.cgi?id=112059 7923 7924 Reviewed by Geoffrey Garen. 7925 7926 Copying a SegmentedVector can be extraordinarily expensive, so we beat 7927 it with the Noncopyable stick - that way we can ensure that if anyone 7928 wants an actual copy they know what they're doing. 7929 7930 * wtf/SegmentedVector.h: 7931 (SegmentedVector): 7932 79332013-03-08 Benjamin Poulain <benjamin@webkit.org> 7934 7935 [Mac] Add a feature flag for 'view-mode' Media Feature, disable it on Mac 7936 https://bugs.webkit.org/show_bug.cgi?id=111297 7937 7938 Reviewed by Kenneth Rohde Christiansen. 7939 7940 * wtf/FeatureDefines.h: Add a new feature flag for the view-mode 7941 CSS media: ENABLE_VIEW_MODE_CSS_MEDIA. 7942 79432013-03-08 Roger Fong <roger_fong@apple.com> 7944 7945 Makefile fixes. 7946 7947 * WTF.vcxproj/WTF.make: 7948 79492013-03-08 Gabor Rapcsanyi <rgabor@webkit.org> 7950 7951 Cache flush problem on ARMv7 JSC 7952 https://bugs.webkit.org/show_bug.cgi?id=111441 7953 7954 Reviewed by Zoltan Herczeg. 7955 7956 Not proper cache flush causing random crashes on ARMv7 Linux with V8 tests. 7957 The problem is similar to https://bugs.webkit.org/show_bug.cgi?id=77712. 7958 Change the cache fulsh mechanism similar to ARM traditinal and revert the 7959 temporary fix. 7960 7961 * wtf/OSAllocatorPosix.cpp: 7962 (WTF::OSAllocator::reserveUncommitted): 7963 (WTF::OSAllocator::decommit): 7964 79652013-03-07 Andrew Bortz <andrew@abortz.net> 7966 7967 Replace Mersenne Twister random number generator with a simpler one. 7968 https://bugs.webkit.org/show_bug.cgi?id=111533 7969 7970 Reviewed by Adam Barth. 7971 7972 The new generator is only a single line long, but passes all the Diehard 7973 statistical tests and runs ~3x faster than the Mersenne Twister, with a 7974 guaranteed cycle length of 2^64 and only 8 bytes of state. 7975 7976 * wtf/Platform.h: Mersenne Twister defines are no longer needed 7977 * wtf/RandomNumber.cpp: 7978 (WTF::Internal::initializeRandomNumber): State initialization 7979 (WTF::Internal::randomNumber): Actual implementation 7980 (WTF::randomNumber): We don't need to fall back on rand()-based generator anymore, 7981 so this code is greatly simplified. 7982 * wtf/RandomNumber.h: 7983 * wtf/RandomNumberSeed.h: 7984 (WTF::initializeRandomNumberGenerator): This code is no longer needed. 7985 Additionally, the code had an error, since rand() returns 32-bits, so each 7986 initializationBuffer's upper 16-bits has more bits set than random. 7987 79882013-03-06 Adenilson Cavalcanti <cavalcantii@gmail.com> 7989 7990 Build fix: PageAllocationAligned no longer has executable flag 7991 https://bugs.webkit.org/show_bug.cgi?id=111659 7992 7993 Reviewed by Kentaro Hara. 7994 7995 Build fix: use false as parameter to execution flag. 7996 7997 * wtf/PageAllocationAligned.cpp: 7998 (WTF::PageAllocationAligned::allocate): 7999 80002013-03-06 Eric Seidel <eric@webkit.org> 8001 8002 AtomicStringImpls are not safe to send between threads 8003 https://bugs.webkit.org/show_bug.cgi?id=111652 8004 8005 Reviewed by Benjamin Poulain. 8006 8007 We don't have this problem yet, but it's good to be safe. 8008 8009 * wtf/text/WTFString.cpp: 8010 (WTF::String::isSafeToSendToAnotherThread): 8011 80122013-03-06 Oliver Hunt <oliver@apple.com> 8013 8014 Don't give PageAllocationAligned the option to allocate executable memory 8015 https://bugs.webkit.org/show_bug.cgi?id=111657 8016 8017 Reviewed by Geoffrey Garen. 8018 8019 * wtf/PageAllocationAligned.cpp: 8020 (WTF::PageAllocationAligned::allocate): 8021 * wtf/PageAllocationAligned.h: 8022 (PageAllocationAligned): 8023 80242013-03-04 Jer Noble <jer.noble@apple.com> 8025 8026 Default mouse cursor behavior should be auto-hide for full screen video with custom controls 8027 https://bugs.webkit.org/show_bug.cgi?id=107601 8028 8029 Reviewed by Beth Dakin. 8030 8031 Enable the CURSOR_VISIBILITY feature. 8032 8033 * wtf/FeatureDefines.h: 8034 80352013-03-04 Oliver Hunt <oliver@apple.com> 8036 8037 Make fastmalloc use guardpages 8038 https://bugs.webkit.org/show_bug.cgi?id=111353 8039 8040 Reviewed by Anders Carlsson. 8041 8042 Add PROT_NONE pages at the beginning and end of every 8043 mmap call made by fastmalloc. 8044 8045 * wtf/TCSystemAlloc.cpp: 8046 (TryMmap): 8047 80482013-03-06 Paweł Forysiuk <tuxator@o2.pl> 8049 8050 Typo in inline function in ByteOrder.h 8051 https://bugs.webkit.org/show_bug.cgi?id=111473 8052 8053 Reviewed by Benjamin Poulain. 8054 8055 * wtf/ByteOrder.h: 8056 (ntohs): 8057 80582013-03-05 Ryuan Choi <ryuan.choi@samsung.com> 8059 8060 [EFL] Build break with latest EFL libraries 8061 https://bugs.webkit.org/show_bug.cgi?id=111028 8062 8063 Reviewed by Dirk Pranke. 8064 8065 * wtf/PlatformEfl.cmake: Added ECORE_IMF_INCLUDE_DIRS. 8066 80672013-03-05 Csaba Osztrogonác <ossy@webkit.org> 8068 8069 Fix cast-align warning in ASCIIFastPath.h on ARM 8070 https://bugs.webkit.org/show_bug.cgi?id=111436 8071 8072 Reviewed by Benjamin Poulain. 8073 8074 * wtf/text/ASCIIFastPath.h: 8075 (WTF::charactersAreAllASCII): 8076 80772013-03-04 Laszlo Gombos <l.gombos@samsung.com> 8078 8079 JSC_OBJC_API_ENABLED should be removed from FeatureDefines.h 8080 https://bugs.webkit.org/show_bug.cgi?id=111269 8081 8082 Reviewed by Mark Hahnenberg. 8083 8084 JSC_OBJC_API_ENABLED flag was added to FeatureDefines.h (r143637) 8085 so that it could be used in WebCore.exp.in to determine whether 8086 or not we should be exporting certain symbols based on whether 8087 the WebKit-related portion of the JSC ObjC API was enabled. 8088 8089 It turned out conditionally including certain symbols didn't 8090 work when building fat binaries, so it's not even necessary any more. 8091 8092 * wtf/FeatureDefines.h: Remove JSC_OBJC_API_ENABLED. 8093 80942013-03-04 Andreas Kling <akling@apple.com> 8095 8096 Deque: Free internal buffer in clear(). 8097 <http://webkit.org/b/111316> 8098 <rdar://problem/13336675> 8099 8100 Reviewed by Antti Koivisto. 8101 8102 525 kB progression on Membuster3. 8103 8104 * wtf/Deque.h: 8105 (WTF::::clear): 8106 81072013-03-04 Kunihiko Sakamoto <ksakamoto@chromium.org> 8108 8109 Add build flag for FontLoader 8110 https://bugs.webkit.org/show_bug.cgi?id=111289 8111 8112 Reviewed by Benjamin Poulain. 8113 8114 Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default). 8115 8116 * wtf/FeatureDefines.h: 8117 81182013-02-27 Darin Adler <darin@apple.com> 8119 8120 StringHasher functions require alignment that call sites do not all guarantee 8121 https://bugs.webkit.org/show_bug.cgi?id=110171 8122 8123 Reviewed by Benjamin Poulain. 8124 8125 The StringHasher class is optimized for clients who pass it two characters at 8126 a time. However, the function named addCharacters did not make this clear to 8127 clients, and one calculateStringHashAndLengthFromUTF8MaskingTop8Bits got it wrong. 8128 Fix by making addCharacters work regardless of hasher alignment and adding a new 8129 function, addCharactersAssumingAligned, for use when we want a faster path and can 8130 guarantee we are adding characters two at a time. 8131 8132 * wtf/StringHasher.h: 8133 (WTF::StringHasher::addCharactersAssumingAligned): Renamed the addCharacters function 8134 addCharactersAssumingAligned, since it only works if the hasher is currently aligned, 8135 meaning it contains an even number of characters. The function already asserts 8136 that this is true, but the calculateStringHashAndLengthFromUTF8MaskingTop8Bits 8137 function was using it in cases where the assertion could fire. Also updated to 8138 call addCharactersInternal by its new name. Also added some new overloads that take 8139 data pointers and lengths so callers can always use addCharactersAssumingAligned 8140 instead of addCharacters if they know the hasher is aligned. 8141 (WTF::StringHasher::addCharacter): Updated to call the public 8142 addCharactersAssumingAligned function since that's simpler and a bit cleaner. 8143 (WTF::StringHasher::addCharacters): Added functions with this name that handle 8144 the case where the hasher is not aligned. These will be called by existing call sites 8145 that were formerly using the function named addCharactersAssumingAligned above. 8146 Also add an overload that works with the default converter automatically. 8147 (WTF::StringHasher::computeHashAndMaskTop8Bits): Changed to call 8148 addCharactersAssumingAligned to eliminate copied and pasted code. The hasher is empty, 8149 so definitely aligned. 8150 (WTF::StringHasher::computeHash): Ditto. 8151 (WTF::StringHasher::addCharactersInternal): Renamed from addCharactersToHash, since 8152 the former name did not make clear how this differs from the public functions. 8153 The real difference is that this is like addCharactersAssumingAligned, but without 8154 the assertion, so addCharactersAssumingAligned is called instead, even within the 8155 class's implementation. 8156 81572013-03-01 Ilya Tikhonovsky <loislo@chromium.org> 8158 8159 Web Inspector: Native Memory Instrumentation: do not visit raw pointers by default. 8160 https://bugs.webkit.org/show_bug.cgi?id=110943 8161 8162 Reviewed by Yury Semikhatsky. 8163 8164 Unfortunately in many cases raw pointer may point to an object that has been deleted. 8165 There is no working solution to solve this problem in general. 8166 It could be solved only on case by case basis. 8167 8168 * wtf/MemoryInstrumentation.h: 8169 (WTF::MemoryInstrumentation::addObject): 8170 (WTF::MemoryInstrumentation::MemberTypeTraits::addObject): 8171 (WTF::MemoryClassInfo::addMember): 8172 (WTF::MemoryInstrumentation::addObjectImpl): 8173 * wtf/MemoryInstrumentationString.h: 8174 (WTF::reportMemoryUsage): 8175 81762013-03-01 Eric Seidel <eric@webkit.org> 8177 8178 Threaded HTML Parser has an extra copy of every byte from the network 8179 https://bugs.webkit.org/show_bug.cgi?id=111135 8180 8181 Reviewed by Adam Barth. 8182 8183 The threaded html parser needs to accept ownership 8184 of a string buffer. The easiest way to do this seemed 8185 to be to use a PassRefPtr<StringImpl>, but there was no way 8186 to generated one from a String (easily), so I added one. 8187 8188 * wtf/text/WTFString.h: 8189 (WTF::String::releaseImpl): 8190 81912013-02-28 Oliver Hunt <oliver@apple.com> 8192 8193 Crash in JSC::MarkedBlock::FreeList JSC::MarkedBlock::sweepHelper 8194 https://bugs.webkit.org/show_bug.cgi?id=111059 8195 8196 Reviewed by Ryosuke Niwa. 8197 8198 Sometimes C++'s implicit operator conversion rules suck. 8199 Add explicit operator== and !=. 8200 8201 * wtf/FastMalloc.cpp: 8202 (WTF::HardenedSLL::operator!=): 8203 (WTF::HardenedSLL::operator==): 8204 (HardenedSLL): 8205 82062013-02-28 Zeno Albisser <zeno@webkit.org> 8207 8208 Enable DFG JIT for Qt on Mac 8209 https://bugs.webkit.org/show_bug.cgi?id=111095 8210 8211 Rubber-stamped by Simon Hausmann 8212 8213 * wtf/Platform.h: 8214 82152013-02-28 Eric Carlson <eric.carlson@apple.com> 8216 8217 [Mac] use HAVE() macro instead of version check 8218 https://bugs.webkit.org/show_bug.cgi?id=111087 8219 8220 Reviewed by Dean Jackson. 8221 8222 * wtf/Platform.h: Define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK. 8223 82242013-02-27 Balazs Kilvady <kilvadyb@homejinni.com> 8225 8226 Bug in atomicIncrement implementation for MIPS GCC 8227 https://bugs.webkit.org/show_bug.cgi?id=110969 8228 8229 Reviewed by Csaba Osztrogonác. 8230 8231 Fix of __sync_[add|sub]_and_fetch_8 for GCC patch. 8232 8233 * wtf/Atomics.cpp: 8234 82352013-02-27 Simon Hausmann <simon.hausmann@digia.com> 8236 8237 REGRESSION(r137994): It made JSC tests hang and layout tests fail on ARM Thumb2 / Linux 8238 https://bugs.webkit.org/show_bug.cgi?id=108632 8239 8240 Reviewed by Csaba Osztrogonác. 8241 8242 It appears that mprotect() is very slow on ARM/Linux, so disable the 8243 approach of unreserved mappings there and fall back to overcomitting 8244 memory, based on Uli Schlachter's recommendation. 8245 8246 * wtf/OSAllocatorPosix.cpp: 8247 (WTF::OSAllocator::reserveUncommitted): 8248 (WTF::OSAllocator::decommit): 8249 82502013-02-26 Roger Fong <roger_fong@apple.com> 8251 8252 Unreviewed. Build fix for VS2010 solution, take 2. 8253 8254 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py: 8255 82562013-02-26 Roger Fong <roger_fong@apple.com> 8257 8258 Unreviewed. Unreviewed build fix for VS2010 solution. 8259 8260 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py: 8261 82622013-02-26 Balazs Kilvady <kilvadyb@homejinni.com> 8263 8264 Fix the atomicIncrement implementation for MIPS GCC 8265 https://bugs.webkit.org/show_bug.cgi?id=106739 8266 8267 Reviewed by Oliver Hunt. 8268 8269 Implementation of missing __sync_[add|sub]_and_fetch_8 functions. 8270 8271 Some architectures, like MIPS32, don't have GCC implementation for 8272 builtin __sync_* functions with 64 bits variable size. GCC answer 8273 for the problem: If a target doesn't support atomic operations on 8274 certain variable sizes, you are out of luck with atomicity in that 8275 case (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56296). GCC >= 4.8 8276 will support __atomic_* builtin functions for this purpose for all 8277 the GCC targets, but for current compilers we have to include our 8278 own implementation. 8279 8280 * GNUmakefile.list.am: 8281 * WTF.pro: 8282 * wtf/Atomics.cpp: Added. 8283 (WTF): 8284 (WTF::getSwapLock): 8285 (WTF::atomicStep): 8286 * wtf/CMakeLists.txt: 8287 82882013-02-26 Oliver Hunt <oliver@apple.com> 8289 8290 Appease the QT bots. 8291 8292 * wtf/FastMalloc.cpp: 8293 82942013-02-26 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 8295 8296 Implement JIT on Windows 64 bits 8297 https://bugs.webkit.org/show_bug.cgi?id=107965 8298 8299 Reviewed by Simon Hausmann. 8300 8301 * wtf/Platform.h: 8302 83032013-02-26 Oliver Hunt <oliver@apple.com> 8304 8305 Appease static analyzer warning about null string passed to strlen 8306 https://bugs.webkit.org/show_bug.cgi?id=110658 8307 8308 Reviewed by Benjamin Poulain. 8309 8310 Add a null check before calling strlen 8311 8312 * wtf/Threading.cpp: 8313 (WTF::createThread): 8314 83152013-02-25 Ryosuke Niwa <rniwa@webkit.org> 8316 8317 Build fix attempt after r143996. 8318 8319 * wtf/FastMalloc.cpp: 8320 (WTF): 8321 83222013-02-25 Roger Fong <roger_fong@apple.com> 8323 8324 Unreviewed. Fix script to use WEBKIT_SOURCE for VS2010 property sheets instead of WEBKIT_LIBRARIES. 8325 8326 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py: 8327 83282013-02-25 Oliver Hunt <oliver@apple.com> 8329 8330 Add cookies to FastMalloc spans 8331 https://bugs.webkit.org/show_bug.cgi?id=110827 8332 8333 Reviewed by Michael Saboff. 8334 8335 Add a cookie to spans, and move some of the hardening around so 8336 that it's more useful. 8337 8338 * wtf/FastMalloc.cpp: 8339 (WTF::internalEntropyValue): 8340 (WTF::spanInitializerCookie): 8341 (WTF::Span::initCookie): 8342 (WTF::Span::clearCookie): 8343 (WTF::Span::isValid): 8344 (Span): 8345 (WTF::NewSpan): 8346 (WTF::DeleteSpan): 8347 (WTF::TCMalloc_ThreadCache_FreeList::Validate): 8348 (WTF::TCMalloc_Central_FreeList::Populate): 8349 (WTF::TCMalloc_ThreadCache::Deallocate): 8350 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 8351 83522013-02-25 Jer Noble <jer.noble@apple.com> 8353 8354 Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files. 8355 https://bugs.webkit.org/show_bug.cgi?id=110806 8356 8357 Reviewed by Alexey Proskuryakov. 8358 8359 Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090. 8360 8361 * wtf/FeatureDefines.h: 8362 83632013-02-23 Ilya Tikhonovsky <loislo@chromium.org> 8364 8365 Web Inspector: Native Memory Instrumentation: replace String with const char* in MemoryObjectInfo 8366 https://bugs.webkit.org/show_bug.cgi?id=110599 8367 8368 Reviewed by Yury Semikhatsky. 8369 8370 Due to potentially dynamic nature of names and classNames we need to make a copy of the strings 8371 that were given us via MemoryInstrumentation calls. 8372 So I extended client api with registerString method that pushes the strings 8373 down to the serializer. 8374 8375 * wtf/MemoryInstrumentation.h: 8376 (MemoryInstrumentationClient): 8377 * wtf/MemoryObjectInfo.h: 8378 (WTF::MemoryObjectInfo::MemoryObjectInfo): 8379 (WTF::MemoryObjectInfo::setClassName): 8380 (WTF::MemoryObjectInfo::classNameId): 8381 (WTF::MemoryObjectInfo::setName): 8382 (WTF::MemoryObjectInfo::nameId): 8383 (MemoryObjectInfo): 8384 83852013-02-21 Brady Eidson <beidson@apple.com> 8386 8387 Move fastlog2() to WTF/MathExtras.h so it can be used from multiple projects. 8388 8389 Rubberstamped by Geoff Garen. 8390 8391 * wtf/MathExtras.h: 8392 (WTF::fastLog2): 8393 83942013-02-21 Andy Estes <aestes@apple.com> 8395 8396 TriState.h should be a Project header 8397 https://bugs.webkit.org/show_bug.cgi?id=110543 8398 8399 Rubber-stamped by Dan Bernstein. 8400 8401 WTF uses a script to copy headers to the build destination, so it isn't 8402 necessary to mark headers as Private/Public (and doing so can be problematic). 8403 8404 * WTF.xcodeproj/project.pbxproj: Mark TriState.h as a Project header. 8405 84062013-02-21 Roger Fong <roger_fong@apple.com> 8407 8408 Unreviewed. Add executable property to cmd file. 8409 Required for executable files to maintain their executable permissions over svn. 8410 8411 * WTF.vcxproj/copy-files.cmd: Added property svn:executable. 8412 84132013-02-19 Mark Hahnenberg <mhahnenberg@apple.com> 8414 8415 Objective-C API: Need a way to use the Objective-C JavaScript API with WebKit 8416 https://bugs.webkit.org/show_bug.cgi?id=106059 8417 8418 Reviewed by Geoffrey Garen. 8419 8420 * wtf/FeatureDefines.h: Added enable flag for JSC Objective-C API so it can be used in 8421 export files. 8422 84232013-02-21 Martin Robinson <mrobinson@igalia.com> 8424 8425 A couple more 'make dist' fixes for WebKitGTK+. 8426 8427 * GNUmakefile.list.am: Add a missing file to the source list. 8428 84292013-02-20 Roger Fong <roger_fong@apple.com> 8430 8431 Get VS2010 Solution B&I ready. 8432 <rdar://problem/1322988> 8433 8434 Rubberstamped by Timothy Horton. 8435 8436 Add Production configuration. 8437 Add a WTF submit solution with a DebugSuffix configuration. 8438 Modify WTF.make as necessary. 8439 8440 * WTF.vcxproj: Added property svn:eol-style. Modified property svn:ignore. 8441 * WTF.vcxproj/WTF.make: Added. 8442 * WTF.vcxproj/WTF.submit.sln: Added. 8443 * WTF.vcxproj/WTF.vcxproj: 8444 * WTF.vcxproj/WTFCommon.props: 8445 * WTF.vcxproj/WTFGenerated.vcxproj: 8446 * WTF.vcxproj/WTFGeneratedProduction.props: Added. 8447 * WTF.vcxproj/WTFGeneratedRelease.props: 8448 * WTF.vcxproj/WTFProduction.props: Added. 8449 * WTF.vcxproj/WTFRelease.props: 8450 * WTF.vcxproj/copy-files.cmd: 8451 84522013-02-20 Oliver Hunt <oliver@apple.com> 8453 8454 Moar hardening 8455 https://bugs.webkit.org/show_bug.cgi?id=110275 8456 8457 Reviewed by Mark Hahnenberg. 8458 8459 We now poison objects when they get freed, and verify that 8460 any object that is being freed is not poisoned. If the 8461 object looks like it's poisoned we validate the freelist, 8462 and ensure the object is not already present. If it is 8463 we crash. 8464 8465 On allocation, we ensure that the object being allocated 8466 is poisoned, then clear the poisoning fields. 8467 8468 * wtf/FastMalloc.cpp: 8469 (WTF::internalEntropyValue): 8470 (WTF): 8471 (WTF::freedObjectStartPoison): 8472 (WTF::freedObjectEndPoison): 8473 (TCMalloc_ThreadCache_FreeList): 8474 (WTF::TCMalloc_ThreadCache_FreeList::Validate): 8475 (WTF::TCMalloc_Central_FreeList::Populate): 8476 (WTF::TCMalloc_ThreadCache::Allocate): 8477 (WTF::TCMalloc_ThreadCache::Deallocate): 8478 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 8479 84802013-02-19 Sheriff Bot <webkit.review.bot@gmail.com> 8481 8482 Unreviewed, rolling out r143400. 8483 http://trac.webkit.org/changeset/143400 8484 https://bugs.webkit.org/show_bug.cgi?id=110290 8485 8486 breaks everything (instacrash launching Safari) (Requested by 8487 thorton on #webkit). 8488 8489 * wtf/FastMalloc.cpp: 8490 (WTF::internalEntropyValue): 8491 (WTF): 8492 (WTF::TCMalloc_Central_FreeList::Populate): 8493 (WTF::TCMalloc_ThreadCache::Allocate): 8494 (WTF::TCMalloc_ThreadCache::Deallocate): 8495 84962013-02-19 Oliver Hunt <oliver@apple.com> 8497 8498 Moar hardening 8499 https://bugs.webkit.org/show_bug.cgi?id=110275 8500 8501 Reviewed by Anders Carlsson. 8502 8503 We now poison objects when they get freed, and verify that 8504 any object that is being freed is not poisoned. If the 8505 object looks like it's poisoned we validate the freelist, 8506 and ensure the object is not already present. If it is 8507 we crash. 8508 8509 On allocation, we ensure that the object being allocated 8510 is poisoned, then clear the poisoning fields. 8511 8512 * wtf/FastMalloc.cpp: 8513 (WTF::internalEntropyValue): 8514 (WTF): 8515 (WTF::freedObjectStartPoison): 8516 (WTF::freedObjectEndPoison): 8517 (TCMalloc_ThreadCache_FreeList): 8518 (WTF::TCMalloc_ThreadCache_FreeList::Validate): 8519 (WTF::TCMalloc_Central_FreeList::Populate): 8520 (WTF::TCMalloc_ThreadCache::Allocate): 8521 (WTF::TCMalloc_ThreadCache::Deallocate): 8522 85232013-02-18 Darin Adler <darin@apple.com> 8524 8525 Style tweaks to StringHasher.h 8526 https://bugs.webkit.org/show_bug.cgi?id=110042 8527 8528 Reviewed by Alexey Proskuryakov. 8529 8530 I have a bug fix coming soon, but figured I'd separate out style tweaks and land them 8531 first to make that patch easier to undrestand. 8532 8533 * wtf/StringHasher.h: Tweak and rearrange comments a bit. 8534 (WTF::StringHasher::addCharacter): Use character instead of ch. 8535 (WTF::StringHasher::addCharacters): Use remainder instead of rem. Also capitalize the U 8536 that we use to make an unsigned 1 constant. 8537 (WTF::StringHasher::computeHashAndMaskTop8Bits): Ditto. 8538 (WTF::StringHasher::hashMemory): Change version that takes size as a template argument 8539 to call the version that takes the size at runtime, since both generate the same code 8540 anyway. Added a FIXME questioning why this function uses the "mask top 8 bits" version 8541 of the hash. Fix incorrect compile assertion that required sizes that are multiples 8542 of four. This function works on sizes that are multiples of two. Also fixed a spelling 8543 error where we called it a "multible". 8544 (WTF::StringHasher::defaultConverter): Use character instead of ch. 8545 (WTF::StringHasher::addCharactersToHash): Eliminated unnecessary local variable. 8546 85472013-02-18 Alexey Proskuryakov <ap@apple.com> 8548 8549 Make HexNumber functions return 8-bit strings 8550 https://bugs.webkit.org/show_bug.cgi?id=110152 8551 8552 Reviewed by Michael Saboff. 8553 8554 * wtf/HexNumber.h: 8555 (Internal): 8556 (WTF::Internal::hexDigitsForMode): 8557 (WTF::appendByteAsHex): 8558 (WTF::placeByteAsHexCompressIfPossible): 8559 (WTF::placeByteAsHex): 8560 (WTF::appendUnsignedAsHex): 8561 (WTF::appendUnsignedAsHexFixedSize): 8562 Use LChar everywhere. 8563 85642013-02-18 Benjamin Poulain <bpoulain@apple.com> 8565 8566 Remove Vector::dataSlot(), it has no implementation 8567 https://bugs.webkit.org/show_bug.cgi?id=109999 8568 8569 Reviewed by Andreas Kling. 8570 8571 VectorBufferBase does not implement any function bufferSlot(). 8572 The file only compiles because that part of the template is never 8573 instantiated. 8574 8575 * wtf/Vector.h: 8576 85772013-02-18 Laszlo Gombos <l.gombos@samsung.com> 8578 8579 Move ENABLE macros for WebCore out from Platform.h 8580 https://bugs.webkit.org/show_bug.cgi?id=105735 8581 8582 Unreviewed, build fix when NETSCAPE_PLUGIN_API is disabled. 8583 8584 Enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH even if 8585 NETSCAPE_PLUGIN_API is disabled (Qt, Efl, GTK, WX ports). 8586 8587 * wtf/FeatureDefines.h: 8588 85892013-02-18 Balazs Kilvady <kilvadyb@homejinni.com> 8590 8591 MIPS DFG implementation. 8592 https://bugs.webkit.org/show_bug.cgi?id=101328 8593 8594 Reviewed by Oliver Hunt. 8595 8596 DFG implementation for MIPS. 8597 8598 * wtf/Platform.h: 8599 86002013-02-18 Zan Dobersek <zdobersek@igalia.com> 8601 8602 Stop placing std::isfinite and std::signbit inside the global scope 8603 https://bugs.webkit.org/show_bug.cgi?id=109817 8604 8605 Reviewed by Darin Adler. 8606 8607 Prefix calls to the isfinite and signbit methods with std:: as the two 8608 methods are no longer being imported into the global scope. 8609 8610 On Solaris and OpenBSD platforms or when using Visual C++ the two methods 8611 are now defined (as incompatibility workarounds) inside the std namespace. 8612 8613 * wtf/DateMath.cpp: 8614 (WTF::timeClip): 8615 * wtf/DecimalNumber.h: 8616 (WTF::DecimalNumber::DecimalNumber): 8617 * wtf/MathExtras.h: 8618 (std): 8619 (std::isfinite): 8620 (std::signbit): 8621 (lrint): 8622 (wtf_pow): 8623 (decomposeDouble): 8624 * wtf/MediaTime.cpp: 8625 (WTF::MediaTime::createWithFloat): 8626 (WTF::MediaTime::createWithDouble): 8627 * wtf/dtoa.cpp: 8628 (WTF::dtoa): 8629 86302013-02-18 Laszlo Gombos <l.gombos@samsung.com> 8631 8632 Move ENABLE macros for WebCore out from Platform.h 8633 https://bugs.webkit.org/show_bug.cgi?id=105735 8634 8635 Reviewed by Darin Adler and Benjamin Poulain. 8636 8637 Introduce FeatureDefines.h by combining the existing rules from 8638 Platform.h and adding new rules for all the ENABLE flags that are 8639 listed in the FeatureFlags wiki. 8640 8641 The new rules are not used at the moment by any ports 8642 as the port specific build systems already define these flags 8643 so the !defined() guard will prevent redefinition of the macros. 8644 8645 * GNUmakefile.list.am: Add FeatureDefines.h. 8646 * WTF.gypi: Ditto. 8647 * WTF.pro: Ditto. 8648 * WTF.vcproj/WTF.vcproj: Ditto. 8649 * WTF.xcodeproj/project.pbxproj: Ditto. 8650 * wtf/CMakeLists.txt: Ditto. 8651 * wtf/FeatureDefines.h: Added. 8652 * wtf/Platform.h: Move macro definitions to FeatureDefines.h. 8653 86542013-02-16 Darin Adler <darin@apple.com> 8655 8656 Remove redundant use of inline keyword in StringHasher.h 8657 https://bugs.webkit.org/show_bug.cgi?id=110036 8658 8659 Reviewed by Geoffrey Garen. 8660 8661 I have some other improvements for StringHasher.h, but wanted to get the simplest ones 8662 out of the way first. 8663 8664 * wtf/StringHasher.h: Remove inline keyword on functions inside the class definition, 8665 since functions defined inside the class are automatically inline. 8666 86672013-02-15 Martin Robinson <mrobinson@igalia.com> 8668 8669 [GTK] Spread the gyp build files throughout the tree 8670 https://bugs.webkit.org/show_bug.cgi?id=109960 8671 8672 Reviewed by Dirk Pranke. 8673 8674 * WTF.gyp/WTFGTK.gyp: Renamed from Source/WebKit/gtk/gyp/WTF.gyp. 8675 86762013-02-15 Anders Carlsson <andersca@apple.com> 8677 8678 Add HashMap::isValidKey and HashSet::isValidValue 8679 https://bugs.webkit.org/show_bug.cgi?id=109977 8680 8681 Reviewed by Sam Weinig and Darin Adler. 8682 8683 Add helper functions for determining whether keys are valid, i.e. if 8684 they are _not_ empty or deleted according to the hash traits. 8685 8686 * wtf/HashMap.h: 8687 * wtf/HashSet.h: 8688 86892013-02-15 Laszlo Gombos <l.gombos@samsung.com> 8690 8691 Remove support for RVCT version less than 4.0 8692 https://bugs.webkit.org/show_bug.cgi?id=109390 8693 8694 The 4.0 version of the RVCT compiler was 8695 released in 2008. 8696 8697 Remove support for version older then 4.0 of RVCT, 8698 and keep the support for newer RVCT versions. 8699 8700 Reviewed by Zoltan Herczeg. 8701 8702 * WTF.gypi: Remove StringExtras.cpp. 8703 * WTF.vcproj/WTF.vcproj: Remove StringExtras.cpp. 8704 * WTF.vcxproj/WTF.vcxproj: Remove StringExtras.cpp. 8705 * WTF.vcxproj/WTF.vcxproj.filters: Remove StringExtras.cpp. 8706 * WTF.xcodeproj/project.pbxproj: Remove StringExtras.cpp. 8707 * wtf/CMakeLists.txt: Remove StringExtras.cpp. 8708 * wtf/Compiler.h: Remove tests for RVCT_VERSION_AT_LEAST(3, 0, 0, 0). 8709 * wtf/Float32Array.h: Remove a quirk introduced for RVCT version <=2.2 . 8710 * wtf/Float64Array.h: Ditto. 8711 * wtf/Int16Array.h: Ditto. 8712 * wtf/Int32Array.h: Ditto. 8713 * wtf/Int8Array.h: Ditto. 8714 * wtf/MathExtras.h: Remove a quirk needed for RVCT version <= 3.0. 8715 * wtf/Platform.h: Remove test for RVCT 4.0. Remove OS(RVCT). 8716 * wtf/StringExtras.cpp: Removed. 8717 * wtf/StringExtras.h: Remove a quirk introduced for RVCT version < 4.0. 8718 * wtf/Uint16Array.h: Remove a quirk introduced for RVCT version <= 2.2. 8719 * wtf/Uint32Array.h: Ditto. 8720 * wtf/Uint8Array.h: Ditto. 8721 * wtf/Uint8ClampedArray.h: Ditto. 8722 87232013-02-15 Christophe Dumez <ch.dumez@sisa.samsung.com> 8724 8725 Add CString operators for comparison with const char* 8726 https://bugs.webkit.org/show_bug.cgi?id=109947 8727 8728 Reviewed by Darin Adler. 8729 8730 Add operators to WTF::CString for equality/inequality comparison 8731 with const char* strings. This avoids constructing a CString 8732 from a const char* in such cases, which is can be expensive as 8733 it would copy it and call strlen(). 8734 8735 * wtf/text/CString.cpp: 8736 (WTF::operator==): Use memcmp instead of strncmp to compare the 8737 CString buffers as we know they are the same size and we don't 8738 want to scan for terminating null byte. 8739 (WTF): 8740 * wtf/text/CString.h: 8741 (WTF): 8742 (WTF::operator!=): 8743 87442013-02-15 Geoffrey Garen <ggaren@apple.com> 8745 8746 Merged the global function cache into the source code cache 8747 https://bugs.webkit.org/show_bug.cgi?id=108660 8748 8749 Reviewed by Sam Weinig. 8750 8751 Responding to review comments by Darin Adler. 8752 8753 * wtf/HashTraits.h: Added a using directive to simplify client code. 8754 87552013-02-14 Dan Bernstein <mitz@apple.com> 8756 8757 No easy way to use a RetainPtr as a key in a HashMap using object (rather than pointer) equality 8758 https://bugs.webkit.org/show_bug.cgi?id=109864 8759 8760 Reviewed by Sam Weinig and Benjamin Poulain. 8761 8762 Added RetainPtrObjectHashTraits and RetainPtrObjectHash, which use CFEqual 8763 and CFHash. 8764 8765 * wtf/RetainPtr.h: 8766 (RetainPtrObjectHashTraits): 8767 (WTF::RetainPtrObjectHashTraits::emptyValue): 8768 (WTF::RetainPtrObjectHashTraits::constructDeletedValue): 8769 (WTF::RetainPtrObjectHashTraits::isDeletedValue): 8770 (WTF): 8771 (WTF::RetainPtrObjectHash::hash): 8772 (WTF::RetainPtrObjectHash::equal): 8773 (RetainPtrObjectHash): 8774 87752013-02-14 Tony Chang <tony@chromium.org> 8776 8777 Unreviewed, set svn:eol-style native for .sln, .vcproj, and .vsprops files. 8778 https://bugs.webkit.org/show_bug.cgi?id=96934 8779 8780 * WTF.vcproj/WTF.sln: Modified property svn:eol-style. 8781 87822013-02-14 Tony Chang <tony@chromium.org> 8783 8784 Unreviewed, set svn:eol-style CRLF for .sln files. 8785 8786 * WTF.vcproj/WTF.sln: Added property svn:eol-style. 8787 87882013-02-14 David Kilzer <ddkilzer@apple.com> 8789 8790 [Mac] Clean up WARNING_CFLAGS 8791 <http://webkit.org/b/109747> 8792 <rdar://problem/13208373> 8793 8794 Reviewed by Mark Rowe. 8795 8796 * Configurations/Base.xcconfig: Use 8797 GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable 8798 -Wshorten-64-to-32 rather than WARNING_CFLAGS. 8799 8800 * WTF.vcproj/WTF.sln: Added property svn:eol-style. 8801 88022013-02-14 Eric Seidel <eric@webkit.org> 8803 8804 String(Vector) behaves differently from String(vector.data(), vector.size()) for vectors with inline capacity in the size=0 case 8805 https://bugs.webkit.org/show_bug.cgi?id=109784 8806 8807 Reviewed by Darin Adler. 8808 8809 This makes String(Vector) never return null strings. 8810 Which matches behavior of String(UChar*, size_t) 8811 for vectors with inlineCapacity, but differs from 8812 String(UChar*, size_t) in the no-inlineCapacity case. 8813 8814 This incidentally will fix a behavioral regression 8815 in the html threaded parser which came from converting 8816 many String(UChar*, size_t) callsites to using String(Vector). 8817 8818 * wtf/text/WTFString.h: 8819 (String): 8820 (WTF::String::String): 8821 88222013-02-14 Eric Seidel <eric@webkit.org> 8823 8824 REGRESSION(r142712): attribute values show up as "(null)" instead of null with the threaded parser 8825 https://bugs.webkit.org/show_bug.cgi?id=109784 8826 8827 Reviewed by Benjamin Poulain. 8828 8829 When I changed many callsites to use the (existing) String(Vector) constructor 8830 I inadvertantly made those callsites convert empty vectors to null strings 8831 instead of empty strings (like String(UChar,size_t) does). 8832 8833 This is due to an oddity/bug in our Vector implementation where data() 8834 will be 0 if the Vector is empty, but only if it doesn't have inline capacity. 8835 https://bugs.webkit.org/show_bug.cgi?id=109792 8836 8837 This changes String(Vector) to exactly match the behavior of String(vector.data(), vector.size()). 8838 8839 This regression was easily detectable with the threaded parser, because we use String 8840 instead of AtomicString in our CompactToken (used to send the Token data 8841 between threads). The main-thread parser path uses AtomicHTMLToken which 8842 uses AtomicString(Vector) and does not have this bug. 8843 8844 * wtf/text/WTFString.h: 8845 (String): 8846 (WTF::String::String): 8847 88482013-02-13 Zan Dobersek <zdobersek@igalia.com> 8849 8850 The 'global isinf/isnan' compiler quirk required when using clang with libstdc++ 8851 https://bugs.webkit.org/show_bug.cgi?id=109325 8852 8853 Reviewed by Anders Carlsson. 8854 8855 Prefix calls to the isinf and isnan methods with std::, declaring we want to use the 8856 two methods as they're provided by the C++ standard library being used. 8857 8858 * wtf/Compiler.h: Remove the global isinf/isnan compiler quirk definitions. They're not required anymore. 8859 * wtf/DateMath.cpp: Move the workaround for isinf on Solaris into the std namespace. Ditto for isinf and isnan 8860 when using MSVC. Stop bringing the isinf and isnan methods into the global scope when using other configurations. 8861 (WTF::parseDateFromNullTerminatedCharacters): 8862 * wtf/IntegralTypedArrayBase.h: 8863 (WTF::IntegralTypedArrayBase::set): 8864 * wtf/MathExtras.h: 8865 (std): 8866 (std::isinf): 8867 (wtf_fmod): 8868 (wtf_pow): 8869 (doubleToInteger): 8870 * wtf/MediaTime.cpp: 8871 (WTF::MediaTime::createWithFloat): 8872 (WTF::MediaTime::createWithDouble): 8873 * wtf/Uint8ClampedArray.h: 8874 (WTF::Uint8ClampedArray::set): 8875 88762013-02-13 Eric Seidel <eric@webkit.org> 8877 8878 Don't copy Vector<UChar> when passing to new String methods from bug 109617 8879 https://bugs.webkit.org/show_bug.cgi?id=109708 8880 8881 Reviewed by Tony Gentilcore. 8882 8883 Thanks for the catch Darin. 8884 8885 * wtf/text/AtomicString.h: 8886 (WTF::AtomicString::AtomicString): 8887 * wtf/text/StringImpl.h: 8888 (WTF::StringImpl::create8BitIfPossible): 8889 88902013-02-13 Martin Robinson <mrobinson@igalia.com> 8891 8892 [GTK] Remove remaining dead code from the GLib unicode backend 8893 https://bugs.webkit.org/show_bug.cgi?id=109707 8894 8895 Reviewed by Philippe Normand. 8896 8897 * wtf/unicode/Unicode.h: 8898 88992013-02-13 Andrew Wilson <atwilson@chromium.org> 8900 8901 Unreviewed Chromium gyp-file cleanup after glib backend removal. 8902 https://bugs.webkit.org/show_bug.cgi?id=109672 8903 8904 Removed references to GLib unicode backend: 8905 8906 * WTF.gyp/WTF.gyp: 8907 * WTF.gypi: 8908 89092013-02-12 Martin Robinson <mrobinson@igalia.com> 8910 8911 [GTK] Remove the GLib unicode backend 8912 https://bugs.webkit.org/show_bug.cgi?id=109627 8913 8914 Reviewed by Benjamin Poulain. 8915 8916 Remove references to the GLib unicode backend from WTF. 8917 8918 * GNUmakefile.list.am: Remove GLib unicode files from the source list. 8919 * wtf/unicode/glib/UnicodeGLib.cpp: Removed. 8920 * wtf/unicode/glib/UnicodeGLib.h: Removed. 8921 89222013-02-12 Takeshi Yoshino <tyoshino@google.com> 8923 8924 Remove unnecessary and confusing includes from StreamBuffer.h. 8925 https://bugs.webkit.org/show_bug.cgi?id=109652 8926 8927 Reviewed by Benjamin Poulain. 8928 8929 StreamBuffer.h is using OwnPtr for storing Vectors into a Deque. 8930 FixedArray.h and PassOwnPtr.h are included but not used. 8931 8932 VectorTraits defines how to move OwnPtr in Vector. It's done by memcpy. 8933 So, there's no need for PassOwnPtr (Deque<PassOwnPtr<Vector<char> > > 8934 is even slower). 8935 8936 * wtf/StreamBuffer.h: 8937 89382013-02-12 Eric Seidel <eric@webkit.org> 8939 8940 Teach more WTF string classes about vectors with inline capacity 8941 https://bugs.webkit.org/show_bug.cgi?id=109617 8942 8943 Reviewed by Benjamin Poulain. 8944 8945 The HTML and WebVTT parsers use constructions like: 8946 AtomicString name(m_name.data(), m_name.size()) 8947 all over the place because they use inline capacity 8948 on the parse vectors for performance. 8949 8950 This change just add the necessary template variants 8951 to the related String constructors/methods in WTF so that 8952 this parser code can just pass the vector directly instead. 8953 8954 I'll do the actual parser cleanups in follow-up patches to keep things simple. 8955 8956 * wtf/text/AtomicString.h: 8957 (AtomicString): 8958 (WTF::AtomicString::AtomicString): 8959 * wtf/text/StringImpl.h: 8960 (StringImpl): 8961 (WTF::StringImpl::create8BitIfPossible): 8962 * wtf/text/WTFString.h: 8963 (String): 8964 (WTF::String::make8BitFrom16BitSource): 8965 (WTF): 8966 (WTF::append): 8967 89682013-02-11 Oliver Hunt <oliver@apple.com> 8969 8970 Build fix. 8971 8972 * wtf/FastMalloc.cpp: 8973 (WTF::TCMalloc_PageHeap::IncrementalScavenge): 8974 89752013-02-11 Ryosuke Niwa <rniwa@webkit.org> 8976 8977 Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface 8978 https://bugs.webkit.org/show_bug.cgi?id=109534 8979 8980 Reviewed by Anders Carlsson. 8981 8982 * wtf/Platform.h: 8983 89842013-02-11 David Kilzer <ddkilzer@apple.com> 8985 8986 [iOS] Upstream changes to Platform.h 8987 <http://webkit.org/b/109459> 8988 8989 Reviewed by Benjamin Poulain. 8990 8991 * wtf/Platform.h: 8992 - Changes for armv7s. 8993 - Add ENABLE() definitions for DASHBOARD_SUPPORT and WEBGL. 8994 - Re-sort ENABLE() and USE() macros. 8995 - Remove ENABLE() macros for JIT, LLINT and YARR_JIT to enable 8996 on iOS Simulator. They are already defined below. 8997 - Turn off HAVE(HOSTED_CORE_ANIMATION) for iOS. 8998 - Turn on USE(COREMEDIA) for iOS 6.0 and later. 8999 90002013-02-08 Oliver Hunt <oliver@apple.com> 9001 9002 Harden FastMalloc (again) 9003 https://bugs.webkit.org/show_bug.cgi?id=109334 9004 9005 Reviewed by Mark Hahnenberg. 9006 9007 Re-implement hardening of linked lists in TCMalloc. 9008 9009 In order to keep heap introspection working, we need to thread the 9010 heap entropy manually as the introspection process can't use the 9011 address of a global in determining the mask. Given we now have to 9012 thread a value through anyway, I've stopped relying on ASLR for entropy 9013 and am simply using arc4random() on darwin, and time + ASLR everywhere 9014 else. 9015 9016 I've also made an explicit struct type for the FastMalloc singly linked 9017 lists, as it seemed like the only way to reliably distinguish between 9018 void*'s that were lists vs. void* that were not. This also made it 9019 somewhat easier to reason about things across processes. 9020 9021 Verified that all the introspection tools work as expected. 9022 9023 * wtf/FastMalloc.cpp: 9024 (WTF::internalEntropyValue): 9025 (WTF): 9026 (HardenedSLL): 9027 (WTF::HardenedSLL::create): 9028 (WTF::HardenedSLL::null): 9029 (WTF::HardenedSLL::setValue): 9030 (WTF::HardenedSLL::value): 9031 (WTF::HardenedSLL::operator!): 9032 (WTF::HardenedSLL::operator UnspecifiedBoolType): 9033 (TCEntry): 9034 (WTF::SLL_Next): 9035 (WTF::SLL_SetNext): 9036 (WTF::SLL_Push): 9037 (WTF::SLL_Pop): 9038 (WTF::SLL_PopRange): 9039 (WTF::SLL_PushRange): 9040 (WTF::SLL_Size): 9041 (PageHeapAllocator): 9042 (WTF::PageHeapAllocator::Init): 9043 (WTF::PageHeapAllocator::New): 9044 (WTF::PageHeapAllocator::Delete): 9045 (WTF::PageHeapAllocator::recordAdministrativeRegions): 9046 (WTF::Span::next): 9047 (WTF::Span::remoteNext): 9048 (WTF::Span::prev): 9049 (WTF::Span::setNext): 9050 (WTF::Span::setPrev): 9051 (Span): 9052 (WTF::DLL_Init): 9053 (WTF::DLL_Remove): 9054 (WTF::DLL_IsEmpty): 9055 (WTF::DLL_Length): 9056 (WTF::DLL_Prepend): 9057 (TCMalloc_Central_FreeList): 9058 (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): 9059 (WTF::TCMalloc_Central_FreeList::entropy): 9060 (TCMalloc_PageHeap): 9061 (WTF::TCMalloc_PageHeap::init): 9062 (WTF::TCMalloc_PageHeap::scavenge): 9063 (WTF::TCMalloc_PageHeap::New): 9064 (WTF::TCMalloc_PageHeap::AllocLarge): 9065 (WTF::TCMalloc_PageHeap::Carve): 9066 (WTF::TCMalloc_PageHeap::Delete): 9067 (WTF::TCMalloc_PageHeap::ReturnedBytes): 9068 (WTF::TCMalloc_PageHeap::Check): 9069 (WTF::TCMalloc_PageHeap::CheckList): 9070 (WTF::TCMalloc_PageHeap::ReleaseFreeList): 9071 (TCMalloc_ThreadCache_FreeList): 9072 (WTF::TCMalloc_ThreadCache_FreeList::Init): 9073 (WTF::TCMalloc_ThreadCache_FreeList::empty): 9074 (WTF::TCMalloc_ThreadCache_FreeList::Push): 9075 (WTF::TCMalloc_ThreadCache_FreeList::PushRange): 9076 (WTF::TCMalloc_ThreadCache_FreeList::PopRange): 9077 (WTF::TCMalloc_ThreadCache_FreeList::Pop): 9078 (WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects): 9079 (TCMalloc_ThreadCache): 9080 (WTF::TCMalloc_Central_FreeList::Init): 9081 (WTF::TCMalloc_Central_FreeList::ReleaseListToSpans): 9082 (WTF::TCMalloc_Central_FreeList::ReleaseToSpans): 9083 (WTF::TCMalloc_Central_FreeList::InsertRange): 9084 (WTF::TCMalloc_Central_FreeList::RemoveRange): 9085 (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe): 9086 (WTF::TCMalloc_Central_FreeList::FetchFromSpans): 9087 (WTF::TCMalloc_Central_FreeList::Populate): 9088 (WTF::TCMalloc_ThreadCache::Init): 9089 (WTF::TCMalloc_ThreadCache::Deallocate): 9090 (WTF::TCMalloc_ThreadCache::FetchFromCentralCache): 9091 (WTF::TCMalloc_ThreadCache::ReleaseToCentralCache): 9092 (WTF::TCMalloc_ThreadCache::InitModule): 9093 (WTF::TCMalloc_ThreadCache::NewHeap): 9094 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 9095 * wtf/MallocZoneSupport.h: 9096 (RemoteMemoryReader): 9097 90982013-02-11 Enrica Casucci <enrica@apple.com> 9099 9100 Add ENABLE_DELETION_UI to control the use of the deletion UI. 9101 https://bugs.webkit.org/show_bug.cgi?id=109463. 9102 9103 ENABLE_DELETION_UI is set to 1 by default for 9104 all ports. It is explicitly enabled for MAC and disabled for iOS. 9105 9106 Reviewed by Ryosuke Niwa. 9107 9108 * wtf/Platform.h: 9109 91102013-02-11 Christophe Dumez <ch.dumez@sisa.samsung.com> 9111 9112 [EFL] Stop using smart pointers for Ecore_Timer 9113 https://bugs.webkit.org/show_bug.cgi?id=109409 9114 9115 Reviewed by Kenneth Rohde Christiansen. 9116 9117 Remove support in OwnPtr for EFL's Ecore_Timer. It is a bad idea to use 9118 OwnPtr for Ecore_Timer because the timer handle may become invalid. 9119 9120 * wtf/OwnPtrCommon.h: 9121 (WTF): 9122 * wtf/efl/OwnPtrEfl.cpp: 9123 91242013-02-11 Abhishek Arya <inferno@chromium.org> 9125 9126 Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access 9127 https://bugs.webkit.org/show_bug.cgi?id=108981 9128 9129 Reviewed by Eric Seidel. 9130 9131 * wtf/BitVector.h: 9132 (WTF::BitVector::quickGet): 9133 (WTF::BitVector::quickSet): 9134 (WTF::BitVector::quickClear): 9135 * wtf/DecimalNumber.h: 9136 (WTF::DecimalNumber::DecimalNumber): 9137 * wtf/SegmentedVector.h: 9138 (WTF::SegmentedVector::ensureSegment): 9139 * wtf/StringPrintStream.cpp: 9140 (WTF::StringPrintStream::vprintf): 9141 * wtf/Vector.h: 9142 (WTF::::insert): 9143 (WTF::::remove): 9144 * wtf/dtoa/utils.h: 9145 (WTF::double_conversion::StringBuilder::SetPosition): 9146 (WTF::double_conversion::StringBuilder::AddSubstring): 9147 91482013-02-10 Laszlo Gombos <l.gombos@samsung.com> 9149 9150 Consolidate the way WTF_USE_PTHREADS is enabled 9151 https://bugs.webkit.org/show_bug.cgi?id=108191 9152 9153 Reviewed by Benjamin Poulain. 9154 9155 Define WTF_USE_PTHREADS to 1 on all OS(UNIX) environments. 9156 9157 * WTF.gyp/WTF.gyp: Remove duplicated definition of WTF_USE_PTHREADS. 9158 * wtf/Platform.h: 9159 91602013-02-10 Laszlo Gombos <l.gombos@samsung.com> 9161 9162 Refactor the way HAVE_XXX macros are set 9163 https://bugs.webkit.org/show_bug.cgi?id=108132 9164 9165 Reviewed by Benjamin Poulain. 9166 9167 OS(WINDOWS) and OS(UNIX) are so broadly defined that for each 9168 builds exactly one of them is enabled. Use this assumption to 9169 cleanup Platform.h. 9170 9171 * wtf/Platform.h: 9172 91732013-02-10 Jae Hyun Park <jae.park08@gmail.com> 9174 9175 Rename ENABLE(GLIB_SUPPORT) to USE(GLIB) 9176 https://bugs.webkit.org/show_bug.cgi?id=104266 9177 9178 Reviewed by Philippe Normand. 9179 9180 Using USE(GLIB) instead of ENABLE(GLIB_SUPPORT) is more consistent with 9181 the existing macro naming conventions. 9182 9183 From Platform.h 9184 USE() - use a particular third-party library or optional OS service 9185 ENABLE() - turn on a specific feature of WebKit 9186 9187 * WTF.pri: 9188 * wtf/Platform.h: 9189 * wtf/gobject/GOwnPtr.cpp: 9190 * wtf/gobject/GOwnPtr.h: 9191 * wtf/gobject/GRefPtr.cpp: 9192 * wtf/gobject/GRefPtr.h: 9193 91942013-02-08 Michael Saboff <msaboff@apple.com> 9195 9196 ARM_NEON Inline Assembly for copyLCharsFromUCharSource() inefficient for aligned destinations 9197 https://bugs.webkit.org/show_bug.cgi?id=109335 9198 9199 Reviewed by Filip Pizlo. 9200 9201 Change a "do while" to a "while" so that we don't copy single characters to align the 9202 destination when it is already aligned. 9203 9204 * wtf/text/ASCIIFastPath.h: 9205 (WTF::copyLCharsFromUCharSource): 9206 92072013-02-08 Jer Noble <jer.noble@apple.com> 9208 9209 Bring WebKit up to speed with latest Encrypted Media spec. 9210 https://bugs.webkit.org/show_bug.cgi?id=97037 9211 9212 Reviewed by Eric Carlson. 9213 9214 Define the ENABLE_ENCRYPTED_MEDIA_V2 setting. 9215 9216 * wtf/Platform.h: 9217 92182013-02-08 Adam Barth <abarth@webkit.org> 9219 9220 Use WeakPtrs to communicate between the HTMLDocumentParser and the BackgroundHTMLParser 9221 https://bugs.webkit.org/show_bug.cgi?id=107190 9222 9223 Reviewed by Eric Seidel. 9224 9225 Add the ability to create an unbound weak reference. This facility lets 9226 you start sending messages to a WeakPtr on another thread before the 9227 object backing the WeakPtr has actually been created. 9228 9229 * wtf/WeakPtr.h: 9230 (WTF::WeakReference::createUnbound): 9231 (WTF::WeakReference::bindTo): 9232 (WeakReference): 9233 (WTF::WeakReference::WeakReference): 9234 (WTF::WeakPtr::WeakPtr): 9235 (WeakPtr): 9236 (WTF::WeakPtrFactory::WeakPtrFactory): 9237 (WeakPtrFactory): 9238 (WTF::WeakPtrFactory::revokeAll): 9239 92402013-02-08 Martin Robinson <mrobinson@igalia.com> 9241 9242 [GTK] Add an experimental gyp build 9243 https://bugs.webkit.org/show_bug.cgi?id=109003 9244 9245 Reviewed by Gustavo Noronha Silva. 9246 9247 * WTF.gyp/WTF.gyp: Filter out MetaAllocator.(cpp/h) from the Chromium 9248 build. It's only necessary for GTK+. 9249 * WTF.gypi: Add MetaAllocator to the build for WebKitGTK+. 9250 92512013-02-06 Ilya Tikhonovsky <loislo@chromium.org> 9252 9253 Web Inspector: Native Memory Instrumentation: reportBaseAddress needs to be called after the reportNode. So it may reuse the node index for the real address. 9254 https://bugs.webkit.org/show_bug.cgi?id=109051 9255 9256 Reviewed by Yury Semikhatsky. 9257 9258 * wtf/MemoryInstrumentation.cpp: 9259 (WTF::MemoryInstrumentation::WrapperBase::processPointer): 9260 92612013-02-07 David Kilzer <ddkilzer@apple.com> 9262 9263 Fix #endif comment from r142163 and r142183 9264 9265 * wtf/MainThread.h: 9266 (WTF): s/PLATFORM/USE/ 9267 92682013-02-07 Benjamin Poulain <bpoulain@apple.com> 9269 9270 Fix an incorrect comment from r142163 9271 9272 Unreviewed. 9273 9274 * wtf/MainThread.h: 9275 I accidentally copied PLATFORM(IOS) instead of USE(WEB_THREAD) for the #ifdef closing. 9276 92772013-02-07 Benjamin Poulain <bpoulain@apple.com> 9278 9279 Upstream iOS isWebThread() and isUIThread() 9280 https://bugs.webkit.org/show_bug.cgi?id=109130 9281 9282 Reviewed by Sam Weinig. 9283 9284 On iOS, it is sometimes necessary to differenciate the thread running WebCore, 9285 and the thread running the UI. This patch upstream those functions. 9286 9287 * wtf/MainThread.cpp: 9288 * wtf/MainThread.h: 9289 Disable the legacy initializer as it is incorrect when using the WebThread to run WebCore. 9290 (WTF::isWebThread): 9291 (WTF::isUIThread): 9292 Return true when the current thread is the Web/UI thread. 9293 9294 * wtf/mac/MainThreadMac.mm: 9295 (WTF::isUIThread): 9296 (WTF::isWebThread): 9297 9298 * wtf/text/AtomicString.cpp: 9299 (WTF::AtomicStringTable::create): 9300 Use the newly added methods. 9301 93022013-02-07 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 9303 9304 [Qt] Fix build without 3D_GRAPHICS 9305 https://bugs.webkit.org/show_bug.cgi?id=109194 9306 9307 Reviewed by Noam Rosenthal. 9308 9309 Now that Coordinated Graphics was moved to WebCore, we need to explicitly enable 9310 it when we have 3D_GRAPHICS. This dependency was implicitly by the fact that 9311 3D_GRAPHICS is a dependency of WebKit2 and Coordinated Graphics was only 9312 available there. This should fix build for Qt SH4 Linux. 9313 9314 * wtf/Platform.h: 9315 93162013-02-06 Zan Dobersek <zdobersek@igalia.com> 9317 9318 [WTFURL] Fix erroneous header inclusions in WTFURL code 9319 https://bugs.webkit.org/show_bug.cgi?id=109040 9320 9321 Reviewed by Benjamin Poulain. 9322 9323 Include WTFURL API headers from files in Source/WTF/wtf/url/src 9324 by specifying their relative path to Source/WTF. 9325 9326 * GNUmakefile.am: The changes make it possible to compile the WTF library 9327 without specifying both Source/WTF/wtf/url/api and Source/WTF/wtf/url/src 9328 as inclusion directories in CPPFLAGS, so remove these two entries. 9329 * wtf/url/src/RawURLBuffer.h: 9330 * wtf/url/src/URLCanon.h: Include the URLParse.h header by specifying 9331 only the base name as it's located in the same directory. 9332 * wtf/url/src/URLCanonQuery.cpp: 9333 * wtf/url/src/URLUtil.h: 9334 93352013-02-06 Tony Gentilcore <tonyg@chromium.org> 9336 9337 Call XSSAuditor's didBlockScript() for the threaded HTML parser 9338 https://bugs.webkit.org/show_bug.cgi?id=108726 9339 9340 Reviewed by Adam Barth. 9341 9342 This patch adds isSafeToSendToAnotherThread() methods to CString, String, ParsedURL and URLString. 9343 These methods check to ensure there are 0 or 1 references. 9344 9345 * wtf/text/CString.cpp: 9346 (WTF::CString::isSafeToSendToAnotherThread): Added. 9347 (WTF): 9348 * wtf/text/CString.h: 9349 (CString): 9350 * wtf/text/WTFString.cpp: 9351 (WTF::String::isSafeToSendToAnotherThread): Added. 9352 (WTF): 9353 * wtf/text/WTFString.h: 9354 (String): 9355 * wtf/url/api/ParsedURL.h: 9356 (WTF::ParsedURL::isSafeToSendToAnotherThread): Added. 9357 * wtf/url/api/URLString.h: 9358 (WTF::URLString::isSafeToSendToAnotherThread): Added. 9359 93602013-02-06 Ilya Tikhonovsky <loislo@chromium.org> 9361 9362 Web Inspector: Native Memory Instrumentation: assign class name to the heap graph node automatically 9363 https://bugs.webkit.org/show_bug.cgi?id=107262 9364 9365 Reviewed by Yury Semikhatsky. 9366 9367 We need a way to calculate class name for a pointer automatically. 9368 Otherwise we need to write className manually in all the instrumentation methods. 9369 And for all reported but not instrumented classes. 9370 9371 C++ can do that for us with help of typeid but unfortunatelly it requires rtti. 9372 There is another way to do that. C++ preprocessor provides a define which has a function name. 9373 9374 For g++ and clang it is __PRETTY_FUNCTION__. 9375 For MSVC it is __FUNCTION__. 9376 The content of the string is a function signature. 9377 We can use it because it has the name of the template argument. 9378 The format is sligthly different. That's why I made two different parsers. 9379 One for MSVC the other for GCC, Clang etc. 9380 The other problem is the resulting binary size. 9381 I made very simple function that does the only thing, returns the smallest possible function signature. 9382 Unfortunatelly MSVC doesn't generate template argument name for functions. 9383 It does this only for classes. 9384 9385 * wtf/MemoryInstrumentation.cpp: 9386 (WTF): 9387 (WTF::className): 9388 (WTF::MemoryClassInfo::callReportObjectInfo): 9389 (WTF::MemoryClassInfo::init): 9390 * wtf/MemoryInstrumentation.h: 9391 (WTF): 9392 (WTF::FN::fn): 9393 (WTF::fn): 9394 (WTF::MemoryClassInfo::MemoryClassInfo): 9395 (MemoryClassInfo): 9396 (WTF::::reportObjectMemoryUsage): 9397 93982013-02-05 Mark Lam <mark.lam@apple.com> 9399 9400 Fix EnumClass so that it can be used with switch statements. 9401 https://bugs.webkit.org/show_bug.cgi?id=109004. 9402 9403 Reviewed by Sam Weinig. 9404 9405 * wtf/EnumClass.h: 9406 (WTF::EnumClass::operator==): 9407 (WTF::EnumClass::operator!=): 9408 (WTF::EnumClass::operator<): 9409 (WTF::EnumClass::operator<=): 9410 (WTF::EnumClass::operator>): 9411 (WTF::EnumClass::operator>=): 9412 (EnumClass): 9413 (WTF::EnumClass::operator Value): 9414 94152013-02-05 Oliver Hunt <oliver@apple.com> 9416 9417 Disable TCMalloc hardening as it's breaking leaks. 9418 9419 Reviewed by Gavin Barraclough. 9420 9421 * wtf/FastMalloc.cpp: 9422 94232013-02-05 Mark Lam <mark.lam@apple.com> 9424 9425 Rename ENUM_CLASS_BEGIN() macro to ENUM_CLASS(), and make DatabaseType a strong enum. 9426 https://bugs.webkit.org/show_bug.cgi?id=108988. 9427 9428 Reviewed by Alexey Proskuryakov. 9429 9430 * wtf/EnumClass.h: 9431 94322013-02-05 Roger Fong <roger_fong@apple.com> 9433 9434 Unreviewed build fix. 9435 9436 * wtf/FastMalloc.cpp: 9437 94382013-02-05 Benjamin Poulain <bpoulain@apple.com> 9439 9440 Tidy up StackBounds 9441 https://bugs.webkit.org/show_bug.cgi?id=108889 9442 9443 Reviewed by Ryosuke Niwa. 9444 9445 * wtf/StackBounds.h: 9446 (StackBounds): 9447 (WTF::StackBounds::isSafeToRecurse): 9448 (WTF::StackBounds::size): 9449 Adopt a more conventional style for a multiline branch. 9450 9451 (WTF::StackBounds::StackBounds): 9452 (WTF::StackBounds::current): 9453 (WTF::StackBounds::recursionLimit): 9454 Make those method private. 9455 9456 Making the constructor private ensure initialize() is alwasy called on any StackBounds. 9457 94582013-02-05 Zan Dobersek <zdobersek@igalia.com> 9459 9460 [WTFURL] Comparison between signed and unsigned integer expressions in URLUtil.cpp 9461 https://bugs.webkit.org/show_bug.cgi?id=108955 9462 9463 Reviewed by Benjamin Poulain. 9464 9465 * wtf/url/src/URLUtil.cpp: 9466 (URLUtilities): Make the counter variable a signed integer to get rid of the warning. 9467 94682013-02-05 Benjamin Poulain <bpoulain@apple.com> 9469 9470 Rationalize the use of iOS/Mac #defines in Assertions.cpp 9471 https://bugs.webkit.org/show_bug.cgi?id=108870 9472 9473 Reviewed by David Kilzer. 9474 9475 * wtf/Assertions.cpp: Instead of using PLATFORM(MAC) and assume it works for iOS and OS X, 9476 use CF as the guard for CFString. Similarily, USE_APPLE_SYSTEM_LOG guards code using ASL. 9477 94782013-02-05 Benjamin Poulain <bpoulain@apple.com> 9479 9480 Make StringBuilder::toAtomicString() consistent with StringBuilder::toString() for strings of length zero 9481 https://bugs.webkit.org/show_bug.cgi?id=108894 9482 9483 Reviewed by Andreas Kling. 9484 9485 * wtf/text/StringBuilder.h: 9486 (WTF::StringBuilder::toAtomicString): The function was returning the nullAtom for strings of length zero. 9487 This is inconsistent with StringBuilder::toString() which always return an empty string. 9488 9489 This patch unifies the behavior. 9490 94912013-02-04 Mark Hahnenberg <mhahnenberg@apple.com> 9492 9493 Structure::m_outOfLineCapacity is unnecessary 9494 https://bugs.webkit.org/show_bug.cgi?id=108206 9495 9496 Reviewed by Darin Adler. 9497 9498 Simplifying the utility functions that we use since we don't need a 9499 bunch of fancy templates for this one specific call site. 9500 9501 * wtf/MathExtras.h: 9502 (WTF::roundUpToPowerOfTwo): 9503 95042013-02-05 Sheriff Bot <webkit.review.bot@gmail.com> 9505 9506 Unreviewed, rolling out r141905. 9507 http://trac.webkit.org/changeset/141905 9508 https://bugs.webkit.org/show_bug.cgi?id=108963 9509 9510 "Broke mac build" (Requested by tonyg-cr on #webkit). 9511 9512 * wtf/text/CString.cpp: 9513 * wtf/text/CString.h: 9514 * wtf/text/WTFString.cpp: 9515 * wtf/text/WTFString.h: 9516 (String): 9517 * wtf/url/api/ParsedURL.h: 9518 (ParsedURL): 9519 * wtf/url/api/URLString.h: 9520 95212013-02-05 Tony Gentilcore <tonyg@chromium.org> 9522 9523 Call XSSAuditor's didBlockScript() for the threaded HTML parser 9524 https://bugs.webkit.org/show_bug.cgi?id=108726 9525 9526 Reviewed by Adam Barth. 9527 9528 This patch adds isSafeToSendToAnotherThread() methods to CString, String, ParsedURL and URLString. 9529 These methods check to ensure there are 0 or 1 references. 9530 9531 * wtf/text/CString.cpp: 9532 (WTF::CString::isSafeToSendToAnotherThread): Added. 9533 (WTF): 9534 * wtf/text/CString.h: 9535 (CString): 9536 * wtf/text/WTFString.cpp: 9537 (WTF::String::isSafeToSendToAnotherThread): Added. 9538 (WTF): 9539 * wtf/text/WTFString.h: 9540 (String): 9541 * wtf/url/api/ParsedURL.h: 9542 (WTF::ParsedURL::isSafeToSendToAnotherThread): Added. 9543 * wtf/url/api/URLString.h: 9544 (WTF::URLString::isSafeToSendToAnotherThread): Added. 9545 95462013-02-04 Benjamin Poulain <bpoulain@apple.com> 9547 9548 Build fix for AtomicString on iOS 9549 9550 Unreviewed. The commit r141812 rely on isUIThread(), there is no such things 9551 in the tree right now. Use pthread_main_np() until more thread handling is upstreamed. 9552 9553 * wtf/text/AtomicString.cpp: 9554 (WTF::AtomicStringTable::create): 9555 95562013-02-04 Abhishek Arya <inferno@chromium.org> 9557 9558 Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access 9559 https://bugs.webkit.org/show_bug.cgi?id=108668 9560 9561 Reviewed by Eric Seidel. 9562 9563 * wtf/AVLTree.h: 9564 (WTF::AVLTreeDefaultBSet::operator[]): 9565 * wtf/BitArray.h: 9566 (WTF::BitArray::set): 9567 (WTF::BitArray::get): 9568 * wtf/FastBitVector.h: 9569 (WTF::FastBitVector::set): 9570 (WTF::FastBitVector::clear): 9571 (WTF::FastBitVector::get): 9572 * wtf/FixedArray.h: 9573 (WTF::FixedArray::operator[]): 9574 * wtf/RefCountedArray.h: 9575 (WTF::RefCountedArray::at): 9576 * wtf/TypedArrayBase.h: 9577 (WTF::TypedArrayBase::item): 9578 * wtf/text/StringBuffer.h: 9579 (WTF::StringBuffer::operator[]): 9580 * wtf/text/StringBuilder.h: 9581 (WTF::StringBuilder::operator[]): 9582 * wtf/text/StringImpl.h: 9583 (WTF::StringImpl::operator[]): 9584 95852013-02-04 Benjamin Poulain <benjamin@webkit.org> 9586 9587 Upstream iOS's AtomicString 9588 https://bugs.webkit.org/show_bug.cgi?id=108139 9589 9590 Reviewed by David Kilzer. 9591 9592 On iOS, WebCore can be executed from two different threads. To maintain consistency, 9593 a few changes had been made: 9594 -The main UI thread and the WebThread share the same AtomicStringTable. 9595 -A spin lock is needed before any access to prevent any concurrent modification of the string table. 9596 The spin lock also prevent race on the static initialization of the shared table. 9597 9598 * wtf/Platform.h: 9599 Introduce a new USE(WEB_THREAD) to scope changes related to iOS Web Thread. 9600 * wtf/text/AtomicString.cpp: 9601 (AtomicStringTableLocker): 9602 (WTF::AtomicStringTableLocker::AtomicStringTableLocker): 9603 (WTF::AtomicStringTableLocker::~AtomicStringTableLocker): 9604 (WTF::AtomicStringTable::create): 9605 wtfThreadData() is not necessarily inlined on ARM. When it is not inlined, the old code 9606 causes two call to the function. Instead, we can keep the value in register and pass it 9607 to AtomicStringTable::create(). 9608 (WTF::stringTable): 9609 (WTF::addToStringTable): 9610 (WTF::AtomicString::addSlowCase): 9611 (WTF::AtomicString::find): 9612 (WTF::AtomicString::remove): 9613 96142013-02-04 Martin Robinson <mrobinson@igalia.com> 9615 9616 Fix GTK+ 'make dist' in preparation for the 1.11.5 release. 9617 9618 * GNUmakefile.list.am: 9619 96202013-02-04 David Kilzer <ddkilzer@apple.com> 9621 9622 Sort WTF Xcode project file 9623 9624 * WTF.xcodeproj/project.pbxproj: 9625 96262013-02-02 Andreas Kling <akling@apple.com> 9627 9628 Vector should consult allocator about ideal size when choosing capacity. 9629 <http://webkit.org/b/108410> 9630 <rdar://problem/13124002> 9631 9632 Reviewed by Benjamin Poulain. 9633 9634 Added WTF::fastMallocGoodSize(), a workalike/wrapper for OS X's malloc_good_size(). 9635 It returns the actual size of the block that will get allocated for a given byte size. 9636 9637 Vector's internal buffer now checks with the allocator if the resulting allocation 9638 could actually house more objects and updates its capacity to make use of the space. 9639 9640 * wtf/Deque.h: 9641 (WTF::::expandCapacity): 9642 * wtf/FastMalloc.cpp: 9643 (WTF::fastMallocGoodSize): 9644 * wtf/FastMalloc.h: 9645 * wtf/Vector.h: 9646 (WTF::VectorBufferBase::allocateBuffer): 9647 (WTF::VectorBufferBase::tryAllocateBuffer): 9648 (WTF::VectorBufferBase::reallocateBuffer): 9649 96502013-02-02 Mark Rowe <mrowe@apple.com> 9651 9652 <http://webkit.org/b/108745> WTF shouldn't use a script build phase to detect the presence of headers when the compiler can do it for us 9653 9654 Reviewed by Sam Weinig. 9655 9656 * WTF.xcodeproj/project.pbxproj: Remove the script phase that used to generate a header file 9657 containing information about whether certain header files exist on the system. 9658 * wtf/FastMalloc.cpp: Use Clang's __has_include to detect whether the header exists before including it. 9659 96602013-02-01 Roger Fong <roger_fong@apple.com> 9661 9662 Unreviewed. WTF VS2010 project cleanup. 9663 9664 * WTF.vcxproj/WTF.vcxproj: 9665 * WTF.vcxproj/WTF.vcxproj.filters: 9666 * WTF.vcxproj/WTFPreLink.cmd: Removed. 9667 96682013-02-01 Zan Dobersek <zdobersek@igalia.com> 9669 9670 [GTK] Add WTFURL source files to the build 9671 https://bugs.webkit.org/show_bug.cgi?id=108215 9672 9673 Reviewed by Benjamin Poulain. 9674 9675 The WTFURL implementation sources are all still guarded by the USE(WTFURL) guard, 9676 meaning that the GTK port still uses the default KURL backend. To use the WTFURL 9677 backend instead, one would have to define WTF_USE_WTFURL in Platform.h. 9678 9679 * GNUmakefile.am: List the directories from which source headers will be included. 9680 Plenty of WTFURL code currently just includes the required header by name rather 9681 than specifying the header path as relative to Source/WTF. In the future all the inclusions 9682 should probaby be changed to include the header through the path relative to Source/WTF. 9683 * GNUmakefile.list.am: Add build targets for the WTFURL source files. 9684 * wtf/url/api/ParsedURL.cpp: Specify the complete path to the required headers and 9685 reorder the inclusions. 9686 * wtf/url/src/URLCanon.h: Ditto. 9687 96882013-01-18 Ilya Tikhonovsky <loislo@chromium.org> 9689 9690 Web Inspector: Native Memory Instrumentation: provide edge names and class names for WTF containers and strings 9691 https://bugs.webkit.org/show_bug.cgi?id=107303 9692 9693 Reviewed by Yury Semikhatsky. 9694 9695 I'd like to use ValueType[] as className for the container data members 9696 because class names of template parameters already present in the container class names. 9697 9698 * wtf/MemoryInstrumentationArrayBufferView.h: 9699 (WTF::reportMemoryUsage): 9700 * wtf/MemoryInstrumentationHashCountedSet.h: 9701 (WTF::reportMemoryUsage): 9702 * wtf/MemoryInstrumentationHashMap.h: 9703 (WTF::reportMemoryUsage): 9704 * wtf/MemoryInstrumentationHashSet.h: 9705 (WTF::reportMemoryUsage): 9706 * wtf/MemoryInstrumentationListHashSet.h: 9707 (WTF::reportMemoryUsage): 9708 * wtf/MemoryInstrumentationSequence.h: 9709 * wtf/MemoryInstrumentationString.h: 9710 (WTF::reportMemoryUsage): 9711 * wtf/MemoryInstrumentationVector.h: 9712 (WTF::reportMemoryUsage): 9713 97142013-02-01 Geoffrey Garen <ggaren@apple.com> 9715 9716 Added TriState to WTF and started using it in one place 9717 https://bugs.webkit.org/show_bug.cgi?id=108628 9718 9719 Reviewed by Beth Dakin. 9720 9721 Useful for expressing "maybe" conditions in a boolean context. 9722 9723 * WTF.xcodeproj/project.pbxproj: 9724 * wtf/TriState.h: Added. 9725 (WTF): 9726 97272013-02-01 Patrick Gansterer <paroga@webkit.org> 9728 9729 Build fix for WinCE after r137709 9730 https://bugs.webkit.org/show_bug.cgi?id=105767 9731 9732 Do not pass functions as const references to 9733 templated arguments to make the compiler happy. 9734 9735 * wtf/StdLibExtras.h: 9736 (WTF::binarySearch): 9737 (WTF::tryBinarySearch): 9738 (WTF::approximateBinarySearch): 9739 97402013-01-31 Ilya Tikhonovsky <loislo@chromium.org> 9741 9742 Web Inspector: Native Memory Instrumentation: replace nodeName argument with className 9743 https://bugs.webkit.org/show_bug.cgi?id=107278 9744 9745 Reviewed by Yury Semikhatsky. 9746 9747 I replaced nodeName with className because we newer report node name for private and raw buffers 9748 but need to report their class names. 9749 9750 * wtf/MemoryInstrumentation.cpp: 9751 (WTF::MemoryInstrumentation::reportLinkToBuffer): 9752 (WTF::MemoryClassInfo::addRawBuffer): 9753 (WTF::MemoryClassInfo::addPrivateBuffer): 9754 * wtf/MemoryInstrumentation.h: 9755 (WTF::MemoryInstrumentation::addRawBuffer): 9756 (MemoryClassInfo): 9757 97582013-01-31 Jessie Berlin <jberlin@apple.com> 9759 9760 Rolling out r141407 because it is causing crashes under 9761 WTF::TCMalloc_Central_FreeList::FetchFromSpans() in Release builds. 9762 9763 * wtf/Deque.h: 9764 (WTF::::expandCapacity): 9765 * wtf/FastMalloc.cpp: 9766 * wtf/FastMalloc.h: 9767 (WTF): 9768 * wtf/Vector.h: 9769 (WTF::VectorBufferBase::allocateBuffer): 9770 (WTF::VectorBufferBase::tryAllocateBuffer): 9771 (WTF::VectorBufferBase::reallocateBuffer): 9772 97732013-01-31 Mark Lam <mark.lam@apple.com> 9774 9775 Abstraction for hiding enum class. 9776 https://bugs.webkit.org/show_bug.cgi?id=108533 9777 9778 Reviewed by Anders Carlsson. 9779 9780 * wtf/Compiler.h: 9781 * wtf/EnumClass.h: Copied from Source/WTF/wtf/TypeSafeEnum.h. 9782 (WTF::EnumClass::EnumClass): 9783 (WTF::EnumClass::operator==): 9784 (WTF::EnumClass::operator!=): 9785 (WTF::EnumClass::operator<): 9786 (WTF::EnumClass::operator<=): 9787 (WTF::EnumClass::operator>): 9788 (WTF::EnumClass::operator>=): 9789 * wtf/TypeSafeEnum.h: Removed. 9790 97912013-01-31 Andreas Kling <akling@apple.com> 9792 9793 Vector should consult allocator about ideal size when choosing capacity. 9794 <http://webkit.org/b/108410> 9795 <rdar://problem/13124002> 9796 9797 Reviewed by Benjamin Poulain. 9798 9799 Added WTF::fastMallocGoodSize(), a workalike/wrapper for OS X's malloc_good_size(). 9800 It returns the actual size of the block that will get allocated for a given byte size. 9801 9802 Vector's internal buffer now checks with the allocator if the resulting allocation 9803 could actually house more objects and updates its capacity to make use of the space. 9804 9805 * wtf/Deque.h: 9806 (WTF::::expandCapacity): 9807 * wtf/FastMalloc.cpp: 9808 (WTF::fastMallocGoodSize): 9809 * wtf/FastMalloc.h: 9810 * wtf/Vector.h: 9811 (WTF::VectorBufferBase::allocateBuffer): 9812 (WTF::VectorBufferBase::tryAllocateBuffer): 9813 (WTF::VectorBufferBase::reallocateBuffer): 9814 98152013-01-30 Christophe Dumez <christophe.dumez@intel.com> 9816 9817 Add a StringTypeAdapter for ASCIILiteral 9818 https://bugs.webkit.org/show_bug.cgi?id=108338 9819 9820 Reviewed by Benjamin Poulain. 9821 9822 Add StringTypeAdapter for ASCIILiteral type so that concatenation of an 9823 ASCIILiteral and a String using + operator is efficiently handled. 9824 9825 * wtf/text/StringConcatenate.h: 9826 * wtf/text/StringOperators.h: 9827 (WTF::operator+): Inline some of the operator+ functions that were not 9828 yet. 9829 (WTF): 9830 98312013-01-30 David Kilzer <ddkilzer@apple.com> 9832 9833 Upstream iOS build file changes for WTF 9834 <http://webkit.org/b/108221> 9835 9836 Reviewed by Mark Rowe. 9837 9838 * Configurations/Base.xcconfig: 9839 - Import iOS.xcconfig. 9840 - Remove VALID_ARCHS. Modern Xcodes define these correctly. 9841 - Make HEADER_SEARCH_PATHS work with iOS Simulator builds. 9842 - Add SUPPORTED_PLATFORMS so both Mac and iOS SDKs appear in 9843 schemes. 9844 - Define INSTALL_PATH when building for macosx SDK. 9845 * Configurations/CopyWTFHeaders.xcconfig: 9846 - Make PRIVATE_HEADERS_FOLDER_PATH work with iOS Simulator 9847 builds. 9848 * Configurations/DebugRelease.xcconfig: 9849 - Simplify ARCHS. This works correctly on 32-bit-only SDKs. 9850 * Configurations/WTF.xcconfig: 9851 - Fix installation directory for iOS Simulator builds by 9852 defining INSTALL_PATH_ACTUAL. 9853 * Configurations/iOS.xcconfig: Add. 9854 * WTF.xcodeproj/project.pbxproj: 9855 - Add iOS.xcconfig to the project. 9856 98572013-01-29 Mark Hahnenberg <mhahnenberg@apple.com> 9858 9859 Structure::m_outOfLineCapacity is unnecessary 9860 https://bugs.webkit.org/show_bug.cgi?id=108206 9861 9862 Reviewed by Geoffrey Garen. 9863 9864 We're adding a new function that gives us the ability to round a value up to the next power of a certain base. 9865 9866 * wtf/MathExtras.h: 9867 (WTF::roundUpToPowerOf): 9868 98692013-01-30 Zeno Albisser <zeno@webkit.org> 9870 9871 [Qt] Fix Qt/Mac build after r141024 and r141037 9872 https://bugs.webkit.org/show_bug.cgi?id=108318 9873 9874 Reviewed by Kentaro Hara. 9875 9876 * wtf/Functional.h: 9877 Make sure Block.h is included and its functionality 9878 is enabled for Qt on Mac. 9879 98802013-01-30 Simon Hausmann <simon.hausmann@digia.com> 9881 9882 [Qt] Remove QT4_UNICODE related code paths 9883 https://bugs.webkit.org/show_bug.cgi?id=108316 9884 9885 Reviewed by Kenneth Rohde Christiansen. 9886 9887 Get rid of QT4_UNICODE and any related code paths. The Qt port 9888 requires Qt5 and ICU these days. 9889 9890 * WTF.gypi: 9891 * WTF.pro: 9892 * wtf/unicode/Unicode.h: 9893 * wtf/unicode/qt4/UnicodeQt4.h: Removed. 9894 98952013-01-29 Mark Lam <mark.lam@apple.com> 9896 9897 Introducing WTF::TypeSafeEnum and DatabaseError. 9898 https://bugs.webkit.org/show_bug.cgi?id=108279. 9899 9900 Reviewed by Geoffrey Garen. 9901 9902 * WTF.xcodeproj/project.pbxproj: 9903 * wtf/TypeSafeEnum.h: Added. 9904 (WTF): 9905 (TypeSafeEnum): 9906 (WTF::TypeSafeEnum::TypeSafeEnum): 9907 (WTF::TypeSafeEnum::value): 9908 (WTF::TypeSafeEnum::operator==): 9909 (WTF::TypeSafeEnum::operator!=): 9910 (WTF::TypeSafeEnum::operator<): 9911 (WTF::TypeSafeEnum::operator<=): 9912 (WTF::TypeSafeEnum::operator>): 9913 (WTF::TypeSafeEnum::operator>=): 9914 99152013-01-29 Sheriff Bot <webkit.review.bot@gmail.com> 9916 9917 Unreviewed, rolling out r140983. 9918 http://trac.webkit.org/changeset/140983 9919 https://bugs.webkit.org/show_bug.cgi?id=108277 9920 9921 Unfortunately, this API has one last client (Requested by 9922 abarth on #webkit). 9923 9924 * wtf/Platform.h: 9925 99262013-01-28 Benjamin Poulain <benjamin@webkit.org> 9927 9928 String constructed from Literals should be non-empty 9929 https://bugs.webkit.org/show_bug.cgi?id=108103 9930 9931 Reviewed by Eric Carlson. 9932 9933 For efficiency, the construction from literal only works with valid non-empty strings. 9934 One of the constructor was changed to fix an error from HTMLMediaElement. 9935 9936 This patch replaces the branch with an assertions. 9937 9938 * wtf/text/StringImpl.cpp: 9939 (WTF::StringImpl::createFromLiteral): 9940 99412013-01-28 David Kilzer <ddkilzer@apple.com> 9942 9943 BUILD FIX: Platform.h:1212:22: error: '__MAC_OS_X_VERSION_MIN_REQUIRED' is not defined, evaluates to 0 [-Werror,-Wundef] 9944 9945 This fixes the following build error introduced in r140366 for 9946 Bug 107098: 9947 9948 Platform.h:1212:22: error: '__MAC_OS_X_VERSION_MIN_REQUIRED' is not defined, evaluates to 0 [-Werror,-Wundef] 9949 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1080 && !PLATFORM(IOS) 9950 ^ 9951 1 error generated. 9952 9953 * wtf/Platform.h: Check !PLATFORM(IOS) first so that iOS builds 9954 do not try to evaluate __MAC_OS_X_VERSION_MIN_REQUIRED. 9955 99562013-01-28 Adam Barth <abarth@webkit.org> 9957 9958 Remove webkitNotifications.createHTMLNotification 9959 https://bugs.webkit.org/show_bug.cgi?id=107598 9960 9961 Reviewed by Benjamin Poulain. 9962 9963 * wtf/Platform.h: 9964 99652013-01-27 Laszlo Gombos <l.gombos@samsung.com> 9966 9967 [ANDROID] Fix a typo 9968 https://bugs.webkit.org/show_bug.cgi?id=108046 9969 9970 Reviewed by Adam Barth. 9971 9972 HAVE_NMAP -> HAVE_MMAP. 9973 9974 * wtf/Platform.h: 9975 99762013-01-27 Zoltan Arvai <zarvai@inf.u-szeged.hu> 9977 9978 Fixing atomicIncrement implementation for Windows by dropping support before XP SP2. 9979 https://bugs.webkit.org/show_bug.cgi?id=106740 9980 9981 Reviewed by Benjamin Poulain. 9982 9983 Adding int64_t type atomicIncrement and atomicDecrement implementations for Windows 9984 into Atomics.h required by WebKit2 after r139514. Separating WinCE implementation 9985 that does not support WebKit2 and has no support for 64 bit interlocked methods. 9986 9987 Increasing WINVER and _WIN32_WINNT to XP SP2, because the 64 bit type interlocked methods 9988 are not supported on previous versions on 32 bit target. 9989 9990 * config.h: 9991 * wtf/Atomics.h: 9992 (WTF): 9993 (WTF::atomicIncrement): 9994 (WTF::atomicDecrement): 9995 99962013-01-26 Andras Becsi <andras.becsi@digia.com> 9997 9998 Unreviewed fix after r140451 to make GIT-SVN repositories happy. 9999 10000 * WTF.vcproj/WTF.sln: 10001 100022013-01-26 Justin Schuh <jschuh@chromium.org> 10003 10004 [CHROMIUM] Suppress more c4267 build warnings for Win64 targets 10005 https://bugs.webkit.org/show_bug.cgi?id=107993 10006 10007 Reviewed by Abhishek Arya. 10008 10009 * WTF.gyp/WTF.gyp: 10010 100112013-01-25 Eric Seidel <eric@webkit.org> 10012 10013 Support 4 and 5 argument bound static functions 10014 https://bugs.webkit.org/show_bug.cgi?id=107973 10015 10016 Reviewed by Anders Carlsson. 10017 10018 Yummy copy/paste template code! 10019 I'm about to use this in a BackgroundHTMLParser patch, but figured this should be landed separately. 10020 10021 * wtf/Functional.h: 10022 (WTF): 10023 (WTF::R): 10024 100252013-01-24 Martin Robinson <mrobinson@igalia.com> 10026 10027 Abstract the logic for appending a UChar32 onto StringBuilder 10028 https://bugs.webkit.org/show_bug.cgi?id=107505 10029 10030 Reviewed by Darin Adler. 10031 10032 * wtf/text/StringBuilder.h: 10033 (WTF::StringBuilder::append): Added a method for appending a UChar32 to a StringBuilder. 10034 100352013-01-24 Brent Fulgham <bfulgham@webkit.org> 10036 10037 Stipulate build order between WTFGenerated and WTF 10038 https://bugs.webkit.org/show_bug.cgi?id=107844 10039 10040 Reviewed by Tim Horton. 10041 10042 * WTF.vcxproj/WTF.vcxproj: Use VS2010 project dependency 10043 declaration so WTF depends on a completed WTFGenerated build. 10044 100452013-01-23 Abhishek Arya <inferno@chromium.org> 10046 10047 Add support for ASSERT_WITH_SECURITY_IMPLICATION. 10048 https://bugs.webkit.org/show_bug.cgi?id=107699 10049 10050 Reviewed by Eric Seidel. 10051 10052 * wtf/Assertions.h: Add ASSERT_WITH_SECURITY_IMPLICATION to 10053 indicate possible security vulnerabily and enable it by default 10054 in fuzzing builds. 10055 * wtf/Vector.h: Use ASSERT_WITH_SECURITY_IMPLICATION for 10056 bounds check on [] operator. 10057 100582013-01-23 Tony Chang <tony@chromium.org> 10059 10060 Unreviewed, set svn:eol-style to CRLF on Windows .sln files. 10061 10062 * WTF.vcproj/WTF.sln: Added property svn:eol-style. 10063 100642013-01-23 Adam Barth <abarth@webkit.org> 10065 10066 BackgroundHTMLParser::sendTokensToMainThread should use bind 10067 https://bugs.webkit.org/show_bug.cgi?id=107637 10068 10069 Reviewed by Eric Seidel. 10070 10071 * wtf/Functional.h: 10072 - I had to re-work the approach to validating WeakPtr |this| 10073 arguments a bit. Previously you couldn't pass a WeakPtr as a 10074 non-|this| argument to a function because we would try to unwrap 10075 it into a raw pointer. 10076 * wtf/WeakPtr.h: 10077 (WTF::WeakPtrFactory::revokeAll): 10078 (WeakPtrFactory): 10079 - Let clients revoke all outstanding WeakPtrs without needing to 10080 destroy the WeakPtrFactory. 10081 * wtf/chromium/MainThreadChromium.cpp: 10082 (WTF::callFunctionObject): 10083 (WTF::callOnMainThread): 10084 - Implement callOnMainThread for Function objects. The non-Chromium 10085 implementation of MainThread.cpp already implements this feature. 10086 100872013-01-23 Justin Schuh <jschuh@chromium.org> 10088 10089 [CHROMIUM] Suppress c4267 build warnings in WTF for Win64 targets 10090 https://bugs.webkit.org/show_bug.cgi?id=107721 10091 10092 Reviewed by Abhishek Arya. 10093 10094 * WTF.gyp/WTF.gyp: 10095 100962013-01-23 Oliver Hunt <oliver@apple.com> 10097 10098 Add RELEASE_ASSERT (and a few friends) 10099 https://bugs.webkit.org/show_bug.cgi?id=107725 10100 10101 Reviewed by Filip Pizlo. 10102 10103 Adding a few macros to make release mode assertions easier and more readable. 10104 Also makes same assertions more useful in debug builds. 10105 10106 * wtf/Assertions.h: 10107 101082013-01-22 Joshua Bell <jsbell@chromium.org> 10109 10110 Prevent race condition during Worker shutdown 10111 https://bugs.webkit.org/show_bug.cgi?id=107577 10112 10113 Reviewed by Dmitry Titov. 10114 10115 Add MessageQueue::appendAndKill() which wraps those two steps with a mutex so other 10116 threads can't sneak a message in between. 10117 10118 * wtf/MessageQueue.h: Added appendAndKill() method. 10119 101202013-01-22 Roger Fong <roger_fong@apple.com> 10121 10122 WTF project files and property sheets for getting WebKit to compile in VS2010. 10123 https://bugs.webkit.org/show_bug.cgi?id=106986 10124 10125 Reviewed by Timothy Horton and Brent Fulgham. 10126 10127 * WTF.vcproj/WTF.sln: 10128 * WTF.vcxproj: Added. 10129 * WTF.vcxproj/WTF.vcxproj: Added. 10130 * WTF.vcxproj/WTF.vcxproj.filters: Added. 10131 * WTF.vcxproj/WTF.vcxproj.user: Added. 10132 * WTF.vcxproj/WTFCommon.props: Added. 10133 * WTF.vcxproj/WTFDebug.props: Added. 10134 * WTF.vcxproj/WTFGenerated.make: Added. 10135 * WTF.vcxproj/WTFGenerated.vcxproj: Added. 10136 * WTF.vcxproj/WTFGenerated.vcxproj.filters: Added. 10137 * WTF.vcxproj/WTFGenerated.vcxproj.user: Added. 10138 * WTF.vcxproj/WTFGeneratedCommon.props: Added. 10139 * WTF.vcxproj/WTFGeneratedDebug.props: Added. 10140 * WTF.vcxproj/WTFGeneratedRelease.props: Added. 10141 * WTF.vcxproj/WTFPostBuild.cmd: Added. 10142 * WTF.vcxproj/WTFPreBuild.cmd: Added. 10143 * WTF.vcxproj/WTFPreLink.cmd: Added. 10144 * WTF.vcxproj/WTFRelease.props: Added. 10145 * WTF.vcxproj/build-generated-files.sh: Added. 10146 * WTF.vcxproj/copy-files.cmd: Added. 10147 * WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py: Added. 10148 * config.h: 10149 101502013-01-22 David Kilzer <ddkilzer@apple.com> 10151 10152 Fix DateMath.cpp to compile with -Wshorten-64-to-32 10153 <http://webkit.org/b/107503> 10154 10155 Reviewed by Darin Adler. 10156 10157 Fixes the following build errors with -Wshorten-64-to-32: 10158 10159 DateMath.cpp:742:47: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] 10160 if (month == 2 && day > 28 && !isLeapYear(year)) 10161 ~~~~~~~~~~ ^~~~ 10162 DateMath.cpp:757:48: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] 10163 double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds; 10164 ~~~~~~~~~~~~~~~ ^~~~~ 10165 DateMath.cpp:757:55: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] 10166 double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds; 10167 ~~~~~~~~~~~~~~~ ^~~ 10168 DateMath.cpp:757:60: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] 10169 double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds; 10170 ~~~~~~~~~~~~~~~ ^~~~~ 10171 DateMath.cpp:757:67: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] 10172 double dateSeconds = ymdhmsToSeconds(year, month, day, hours, minutes, seconds) - timeZoneSeconds; 10173 ~~~~~~~~~~~~~~~ ^~~~~~~ 10174 DateMath.cpp:996:59: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] 10175 offset = ((o / 100) * 60 + (o % 100)) * sgn; 10176 ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ 10177 DateMath.cpp:998:37: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] 10178 offset = o * 60 * sgn; 10179 ~ ~~~~~~~^~~~~ 10180 DateMath.cpp:1005:40: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] 10181 offset = (o * 60 + o2) * sgn; 10182 ~ ~~~~~~~~~~~~~~^~~~~ 10183 DateMath.cpp:1041:40: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] 10184 return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond; 10185 ~~~~~~~~~~~~~~~ ~~~~~~^~~ 10186 DateMath.cpp:1041:45: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] 10187 return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond; 10188 ~~~~~~~~~~~~~~~ ^~~ 10189 DateMath.cpp:1041:50: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] 10190 return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond; 10191 ~~~~~~~~~~~~~~~ ^~~~ 10192 DateMath.cpp:1041:56: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] 10193 return ymdhmsToSeconds(year, month + 1, day, hour, minute, second) * msPerSecond; 10194 ~~~~~~~~~~~~~~~ ^~~~~~ 10195 12 errors generated. 10196 10197 * wtf/DateMath.cpp: 10198 (WTF::ymdhmsToSeconds): Change year argument from long to int. 10199 Change mon, day, hour, minute arguments from int to long. 10200 (WTF::parseInt): Add. Identical to parseLong but bounds checks 10201 for type int. 10202 (WTF::parseLong): Switch to std::numeric_limits<long> instead of 10203 macros. 10204 (WTF::parseES5DatePortion): Change year argument from long to 10205 int. 10206 (WTF::parseES5DateFromNullTerminatedCharacters): Change year 10207 local variable from long to int. 10208 (WTF::parseDateFromNullTerminatedCharacters): Change year and 10209 offset local variables from long to int. Switch from using 10210 parseLong() to parseInt() as needed. Ditto for labs() to abs(). 10211 Add overflow check when switching from "MM/DD/YYYY" to 10212 "YYYY/MM/DD" parsing. 10213 102142013-01-17 Andy Estes <aestes@apple.com> 10215 10216 Add a USE() macro for content filtering code 10217 https://bugs.webkit.org/show_bug.cgi?id=107098 10218 10219 Reviewed by Mark Rowe. 10220 10221 * wtf/Platform.h: Define WTF_USE_CONTENT_FILTERING on Mac platforms 10222 more recent than Lion. 10223 102242013-01-18 Laszlo Gombos <l.gombos@samsung.com> 10225 10226 Remove unnecessary PLATFORM() tests 10227 https://bugs.webkit.org/show_bug.cgi?id=107360 10228 10229 Reviewed by Eric Seidel. 10230 10231 PLATFORM(WIN), PLATFORM(CHROMIUM) and PLATFORM(QT) are mutually 10232 exclusive. Remove redundant PLATFORM() tests based on this 10233 invariant. 10234 10235 * wtf/Platform.h: 10236 102372013-01-18 Laszlo Gombos <l.gombos@samsung.com> 10238 10239 Remove PLATFORM(TORCHMOBILE) from Assertions.h 10240 https://bugs.webkit.org/show_bug.cgi?id=107355 10241 10242 Reviewed by Eric Seidel. 10243 10244 This appears to be the only place where PLATFORM(TORCHMOBILE) is 10245 used. I don't believe this ifdef is needed anymore. 10246 10247 * wtf/Assertions.h: 10248 102492013-01-18 Michael Saboff <msaboff@apple.com> 10250 10251 Refactor isPowerOf2() and add getLSBSet() 10252 https://bugs.webkit.org/show_bug.cgi?id=107306 10253 10254 Reviewed by Filip Pizlo. 10255 10256 Moved runtime/PropertyMapHashTable.h:PowerOf2() to new hasOneBitSet() and added getLSBSet(). 10257 10258 * wtf/MathExtras.h: 10259 (hasOneBitSet): 10260 (getLSBSet): 10261 102622013-01-18 David Kilzer <ddkilzer@apple.com> 10263 10264 Fix WTF::copyLCharsFromUCharSource() to compile with -Wshorten-64-to-32 10265 <http://webkit.org/b/107227> 10266 10267 Reviewed by Benjamin Poulain. 10268 10269 Fixes the following build error: 10270 10271 ASCIIFastPath.h:117:59: error: implicit conversion loses integer precision: 'unsigned long' to 'const unsigned int' [-Werror,-Wshorten-64-to-32] 10272 const unsigned endLength = length - ucharsPerLoop + 1; 10273 ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~^~~ 10274 1 error generated. 10275 10276 * wtf/text/ASCIIFastPath.h: 10277 (WTF::copyLCharsFromUCharSource): Change local variables from 10278 unsigned to size_t. 10279 102802013-01-14 Dominik Röttsches <dominik.rottsches@intel.com> 10281 10282 [EFL] Update freetype in jhbuild to 2.4.11 and activate subpixel layout 10283 https://bugs.webkit.org/show_bug.cgi?id=106774 10284 10285 In order to fix a long standing linespacing/font ascent & descent issue 10286 we found that FreeType commit b0962ac34e660 solves that problem. 10287 Let's update FreeType accordingly, but bump it to 2.4.11 due to the 10288 maintainer recommending several security updates after that said commit. 10289 10290 Also, in order to avoid extra rebaselining, let's activate subpixel 10291 layout at the same time. 10292 10293 Reviewed by Martin Robinson. 10294 10295 * wtf/Platform.h: Activate Subpixel Layout for EFL. 10296 102972013-01-17 Adam Barth <abarth@webkit.org> 10298 10299 Teach Functional.h about WeakPtr 10300 https://bugs.webkit.org/show_bug.cgi?id=107105 10301 10302 Reviewed by Anders Carlsson. 10303 10304 A common pattern in cross-thread communication is to call member 10305 functions of an object on a remote thread. If the caller's reference to 10306 the object on the remote thread is a WeakPtr, the caller usually wants 10307 to validate that the object still exists when the call actually takes 10308 place. 10309 10310 It's possible to do this manually for every cross-thread call, but that 10311 is tiresome and error prone. Instead, we can teach bind to validate 10312 WeakPtr arguments when passed as the "this" parameter to a member 10313 function. 10314 10315 * wtf/Functional.h: 10316 (WTF::ParamStorageTraits::validate): 10317 103182013-01-17 David Kilzer <ddkilzer@apple.com> 10319 10320 Fix vprintf_stderr_common() to compile with -Wshorten-64-to-32 10321 <http://webkit.org/b/107126> 10322 10323 Reviewed by Darin Adler. 10324 10325 Fixes the following build error: 10326 10327 Assertions.cpp:92:22: error: implicit conversion loses integer precision: 'CFIndex' (aka 'long') to 'int' [-Werror,-Wshorten-64-to-32] 10328 int length = CFStringGetMaximumSizeForEncoding(CFStringGetLength(str), kCFStringEncodingUTF8); 10329 ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10330 1 error generated. 10331 10332 * wtf/Assertions.cpp: 10333 (vprintf_stderr_common): Use CFIndex type instead of int for the 10334 return value of CFStringGetMaximumSizeForEncoding(). 10335 103362013-01-17 Zan Dobersek <zdobersek@igalia.com> 10337 10338 [Autotools] Unify WTF sources list regardless of the target OS, Unicode backend 10339 https://bugs.webkit.org/show_bug.cgi?id=105886 10340 10341 Reviewed by Gustavo Noronha Silva. 10342 10343 Rather than including files in the sources list in an OS-specific way, 10344 guard specific files with OS(UNIX|WINDOWS), USE((GLIB|ICU)_UNICODE) guards 10345 and include all of them in the list. 10346 10347 Proper comments for namespace and #if guard closings are also added or adjusted 10348 where necessary in the affected files. 10349 10350 * GNUmakefile.list.am: 10351 * wtf/OSAllocatorPosix.cpp: Add OS(UNIX) guards. 10352 * wtf/OSAllocatorWin.cpp: Add OS(WINDOWS) guards. 10353 * wtf/ThreadSpecificWin.cpp: Ditto. 10354 * wtf/ThreadingWin.cpp: Ditto. 10355 * wtf/unicode/glib/UnicodeGLib.cpp: Add USE(GLIB_UNICODE) guards. 10356 (WTF): 10357 * wtf/unicode/glib/UnicodeGLib.h: Ditto. 10358 (WTF): 10359 * wtf/unicode/icu/CollatorICU.cpp: Style changes. 10360 * wtf/unicode/icu/UnicodeIcu.h: Add USE(ICU_UNICODE) guards. 10361 (WTF): 10362 * wtf/win/OwnPtrWin.cpp: Add OS(WINDOWS) guards. 10363 103642013-01-16 Benjamin Poulain <benjamin@webkit.org> 10365 10366 Use GCC's implementation of atomicIncrement/Decrement on Mac 10367 https://bugs.webkit.org/show_bug.cgi?id=106976 10368 10369 Reviewed by Filip Pizlo. 10370 10371 * wtf/Atomics.h: 10372 GCC and LLVM have builtin for atomic ADD and SUB: __sync_add_and_fetch, 10373 __sync_sub_and_fetch. 10374 10375 Using them let the compiler just generate the atomic operations inline 10376 instead of generating a function call to LibC. It also simplify the 10377 code a bit. 10378 103792013-01-15 Adam Barth <abarth@webkit.org> 10380 10381 Generalize DocumentWeakReference into WTF::WeakPtr 10382 https://bugs.webkit.org/show_bug.cgi?id=106854 10383 10384 Reviewed by Darin Adler. 10385 10386 This patch adds a simple WeakPtr object to WTF. To use WeakPtr, objects 10387 must hold a WeakPtrFactory member variable, which clears the WeakPtrs 10388 when the object is destructed. The underlying storage is a 10389 ThreadSafeRefCounted "WeakReference" object, which is shared by all the 10390 WeakPtrs. 10391 10392 WeakPtr is a generalization of DocumentWeakReference, which is used to 10393 check whether the Document object is alive when tasks arive on the main 10394 thread from worker threads. We plan to use a similar pattern in the 10395 threaded HTML parser, but we want to send tasks to objects other than 10396 Document. 10397 10398 * GNUmakefile.list.am: 10399 * WTF.gypi: 10400 * WTF.pro: 10401 * WTF.vcproj/WTF.vcproj: 10402 * WTF.xcodeproj/project.pbxproj: 10403 * wtf/CMakeLists.txt: 10404 * wtf/WeakPtr.h: Added. 10405 (WeakReference): 10406 - The ThreadSafeRefCounted object shared by all the WeakPtr 10407 instances. This patch uses ThreadSafeRefCounted so that we can 10408 use WeakPtrs to cancel cross-thread messages. 10409 (WTF::WeakReference::create): 10410 (WTF::WeakReference::get): 10411 (WTF::WeakReference::clear): 10412 - When the object is destroyed, WeakPtrFactory calls this function 10413 to clear all the WeakPtrs. 10414 (WTF::WeakReference::WeakReference): 10415 (WTF::WeakPtr::WeakPtr): 10416 (WTF::WeakPtr::get): 10417 - We might want to add implicit conversions and Boolean operators 10418 in the future, but I've kept this class simple for now. 10419 (WTF::WeakPtrFactory::WeakPtrFactory): 10420 (WTF::WeakPtrFactory::~WeakPtrFactory): 10421 (WTF::WeakPtrFactory::createWeakPtr): 10422 104232013-01-12 Csaba Osztrogonác <ossy@webkit.org> 10424 10425 Use __sync_add_and_fetch instead of __gnu_cxx::__exchange_and_add 10426 https://bugs.webkit.org/show_bug.cgi?id=106729 10427 10428 After r139514 we need atomicIncrement(int64_t volatile*) for all platform. Now the 10429 GCC implementation of atomicIncrement() is based on __gnu_cxx::__exchange_and_add, 10430 which doesn't support int64_t type, but __sync_add_and_fetch does. 10431 10432 Reviewed by Benjamin Poulain. 10433 10434 * wtf/Atomics.h: 10435 (WTF::atomicIncrement): 10436 (WTF::atomicDecrement): 10437 104382013-01-11 Filip Pizlo <fpizlo@apple.com> 10439 10440 Add WTF_EXPORT_PRIVATE to printInternal() methods of PrintStream.h 10441 10442 Rubber stamped by Mark Hahnenberg. 10443 10444 This will make it easier to use dataLog() from WebCore. 10445 10446 * wtf/PrintStream.h: 10447 (WTF): 10448 104492013-01-09 Antti Koivisto <antti@apple.com> 10450 10451 Release FastMalloc thread caches on memory warning 10452 https://bugs.webkit.org/show_bug.cgi?id=106471 10453 10454 Reviewed by Geoff Garen. 10455 10456 Use TCMalloc_ThreadCache::Cleanup() instead of calling Scavenge() twice. This releases all the memory 10457 and looks nicer too. 10458 10459 * wtf/FastMalloc.cpp: 10460 (WTF::releaseFastMallocFreeMemory): 10461 104622013-01-09 Carlos Garcia Campos <cgarcia@igalia.com> 10463 10464 Unreviewed. Fix make distcheck. 10465 10466 * GNUmakefile.list.am: Add missing header. 10467 104682013-01-07 Filip Pizlo <fpizlo@apple.com> 10469 10470 Rationalize closure call heuristics and profiling 10471 https://bugs.webkit.org/show_bug.cgi?id=106270 10472 10473 Reviewed by Oliver Hunt. 10474 10475 Add a macro to add a method to a class that returns a dumper. Allows you to have 10476 secondary dump() methods for dumping either more or less information. 10477 10478 * wtf/PrintStream.h: 10479 (WTF): 10480 104812013-01-07 Ryosuke Niwa <rniwa@webkit.org> 10482 10483 Sorted the xcodeproj file. 10484 10485 * WTF.xcodeproj/project.pbxproj: 10486 104872013-01-07 Filip Pizlo <fpizlo@apple.com> 10488 10489 Unreviewed, it should be possible to build JSC on ARM. 10490 10491 * wtf/FastMalloc.cpp: 10492 (WTF::TCMalloc_PageHeap::IncrementalScavenge): 10493 104942013-01-07 Balazs Kilvady <kilvadyb@homejinni.com> 10495 10496 MIPS LLInt implementation. 10497 https://bugs.webkit.org/show_bug.cgi?id=99706 10498 10499 Reviewed by Filip Pizlo. 10500 10501 LLInt implementation for MIPS. 10502 10503 * wtf/Platform.h: 10504 105052013-01-05 Jonathan Liu <net147@gmail.com> 10506 10507 Only enable MinGW-w64 pow() workaround if needed 10508 https://bugs.webkit.org/show_bug.cgi?id=106099 10509 10510 Reviewed by Filip Pizlo. 10511 10512 The pow() workaround is no longer needed in the latest version 10513 of MinGW-w64. 10514 10515 * wtf/MathExtras.h: 10516 105172013-01-05 Jonathan Liu <net147@gmail.com> 10518 10519 Fix compilation of MathExtras.h with MinGW-w64 10520 https://bugs.webkit.org/show_bug.cgi?id=106105 10521 10522 Reviewed by Simon Hausmann. 10523 10524 The isfinite and isinf functions are required by wtf_pow but 10525 not defined until after wtf_pow. Move wtf_pow to after 10526 "using std::isfinite" and "using std::isinf" to fix compilation. 10527 10528 * wtf/MathExtras.h: 10529 (wtf_pow): 10530 105312013-01-03 Filip Pizlo <fpizlo@apple.com> 10532 10533 CallLinkStatus should be aware of closure calls, and the DFG bytecode parser should use that as its sole internal notion of how to optimize calls 10534 https://bugs.webkit.org/show_bug.cgi?id=106027 10535 10536 Reviewed by Mark Hahnenberg. 10537 10538 I got tired of the various idioms for printing a list of things with comma in between, so I wrote a helper. 10539 10540 * WTF.xcodeproj/project.pbxproj: 10541 * wtf/CommaPrinter.h: Added. 10542 (WTF): 10543 (CommaPrinter): 10544 (WTF::CommaPrinter::CommaPrinter): 10545 (WTF::CommaPrinter::dump): 10546 105472013-01-02 Simon Hausmann <simon.hausmann@digia.com> 10548 10549 [MinGW-w64] Centralize workaround for pow() implementation 10550 https://bugs.webkit.org/show_bug.cgi?id=105925 10551 10552 Reviewed by Sam Weinig. 10553 10554 As suggested by Sam, move the MinGW-w64 workaround into MathExtras.h 10555 away from the JSC usage. 10556 10557 * wtf/MathExtras.h: 10558 (wtf_pow): 10559 105602013-01-02 Adam Barth <abarth@webkit.org> 10561 10562 WTF.gypi lists Platform.h twice 10563 https://bugs.webkit.org/show_bug.cgi?id=105731 10564 10565 Reviewed by Tony Chang. 10566 10567 Once ought to be enough for everybody. 10568 10569 * WTF.gypi: 10570 105712012-12-31 Gavin Barraclough <barraclough@apple.com> 10572 10573 Objective-C API for JavaScriptCore 10574 https://bugs.webkit.org/show_bug.cgi?id=105889 10575 10576 Reviewed by Filip Pizlo. 10577 10578 * wtf/WTFThreadData.cpp: 10579 (WTF::WTFThreadData::WTFThreadData): 10580 * wtf/WTFThreadData.h: 10581 (WTFThreadData): 10582 - Added m_apiData - provide convenient storage for use by the API. 10583 105842012-12-28 Ilya Tikhonovsky <loislo@chromium.org> 10585 10586 Web Inspector: Native Memory Instrumentation: instrument not instrumented members. 10587 https://bugs.webkit.org/show_bug.cgi?id=105830 10588 10589 Reviewed by Vsevolod Vlasov. 10590 10591 In some cases we don't want to visit some class members. 10592 As example we decided to skip pointers to interface classes such as GraphicLayerClient. 10593 We could use addWeakPointer for them but it can't be used for nonpointer members. 10594 In the offline discussion we came to a conclusion that we need a new instrumentation 10595 method ignoreMember, which will be used for all the members which we won't like to visit/instrument. 10596 10597 DriveBy: Also I instrumented not yet instrumented members. 10598 10599 * wtf/MemoryInstrumentation.h: 10600 (MemoryClassInfo): 10601 (WTF::MemoryClassInfo::ignoreMember): 10602 106032012-12-26 Gyuyoung Kim <gyuyoung.kim@samsung.com> 10604 10605 Fix build warning in OSAllocatorPosix.cpp 10606 https://bugs.webkit.org/show_bug.cgi?id=105761 10607 10608 Reviewed by Kentaro Hara. 10609 10610 * wtf/OSAllocatorPosix.cpp: 10611 (WTF::OSAllocator::reserveUncommitted): Fix unused param warnings. 10612 106132012-12-24 Yury Semikhatsky <yurys@chromium.org> 10614 10615 Memory instrumentation: provide a way to mark a node as a root 10616 https://bugs.webkit.org/show_bug.cgi?id=105737 10617 10618 Reviewed by Alexander Pavlov. 10619 10620 Objects added using MemoryInstrumentation::addRootObject will be marked as roots. 10621 10622 * wtf/MemoryInstrumentation.cpp: 10623 (WTF::MemoryInstrumentation::WrapperBase::process): 10624 (WTF): 10625 (WTF::MemoryInstrumentation::WrapperBase::processPointer): 10626 (WTF::MemoryInstrumentation::WrapperBase::processRootObjectRef): 10627 * wtf/MemoryInstrumentation.h: 10628 (WrapperBase): 10629 * wtf/MemoryObjectInfo.h: added root marker which can be used by the heap graph builder. 10630 (WTF::MemoryObjectInfo::MemoryObjectInfo): 10631 (WTF::MemoryObjectInfo::isRoot): 10632 (WTF::MemoryObjectInfo::markAsRoot): 10633 (MemoryObjectInfo): 10634 106352012-12-24 Ilya Tikhonovsky <loislo@chromium.org> 10636 10637 Web Inspector: Native Memory Instrumentation: propagate member type as edge type to the serialized heap graph. 10638 https://bugs.webkit.org/show_bug.cgi?id=105725 10639 10640 Reviewed by Yury Semikhatsky. 10641 10642 MemoryOwningType was renamed to MemberType. 10643 Source argument were removed from reportEdge, reportLeaf and other edge related methods because it is not necessary. 10644 MemberType argument was propagated from MemoryInstrumentation down to HeapGraphSerializer. 10645 10646 The changes covered by tests in TestWebKitAPI. 10647 10648 * wtf/MemoryInstrumentation.cpp: 10649 (WTF::MemoryInstrumentation::reportEdge): 10650 (WTF::MemoryInstrumentation::reportLinkToBuffer): 10651 (WTF::MemoryClassInfo::addPrivateBuffer): 10652 * wtf/MemoryInstrumentation.h: 10653 (MemoryInstrumentationClient): 10654 (MemoryInstrumentation): 10655 (WTF::MemoryInstrumentation::addRawBuffer): 10656 (WTF::MemoryInstrumentation::MemberTypeTraits::addObject): 10657 (WTF::MemoryInstrumentation::addObjectImpl): 10658 106592012-12-21 Ilya Tikhonovsky <loislo@chromium.org> 10660 10661 Unreviewed. Another try to fix Apple Win Release build. 10662 10663 * wtf/FastMalloc.cpp: 10664 (WTF::ClassIndex): 10665 106662012-12-21 Ilya Tikhonovsky <loislo@chromium.org> 10667 10668 Unreviewed compilation fix for Apple Win Release after r138398. 10669 10670 * wtf/FastMalloc.cpp: 10671 (WTF::ClassIndex): 10672 106732012-12-21 Oliver Hunt <oliver@apple.com> 10674 10675 Further harden FastMalloc 10676 https://bugs.webkit.org/show_bug.cgi?id=105656 10677 10678 Reviewed by Gavin Barraclough. 10679 10680 This increases the degree to which we harden the FastMalloc 10681 linked lists. We now also mask the previous and next pointers 10682 in the doubly linked list implementation. I've also made 10683 the masking itself somewhat more complex without a measurable 10684 cost. We still use ASLR to provide some general entropy, but 10685 we blind the pointers against each nodes 'this' pointer. 10686 10687 * wtf/FastMalloc.cpp: 10688 (WTF::ClassIndex): 10689 (WTF::SLL_Next): 10690 (WTF::SLL_SetNext): 10691 (WTF::Span::next): 10692 (WTF::Span::prev): 10693 (WTF::Span::setNext): 10694 (WTF::Span::setPrev): 10695 (Span): 10696 As Span now has to do masking on the next and previous pointers, 10697 I've updated the code to use accessors instead. 10698 (WTF::DLL_Init): 10699 (WTF::DLL_Remove): 10700 (WTF::DLL_IsEmpty): 10701 (WTF::DLL_Length): 10702 (WTF::DLL_Prepend): 10703 (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): 10704 (WTF::TCMalloc_PageHeap::scavenge): 10705 (WTF::TCMalloc_PageHeap::New): 10706 (WTF::TCMalloc_PageHeap::AllocLarge): 10707 (WTF::TCMalloc_PageHeap::ReturnedBytes): 10708 (WTF::TCMalloc_PageHeap::Check): 10709 (WTF::TCMalloc_PageHeap::CheckList): 10710 (WTF::TCMalloc_PageHeap::ReleaseFreeList): 10711 (WTF::TCMalloc_Central_FreeList::FetchFromSpans): 10712 107132012-12-20 Ryuan Choi <ryuan.choi@samsung.com> 10714 10715 [EFL] Build break with latest EFL libraries. 10716 https://bugs.webkit.org/show_bug.cgi?id=104827 10717 10718 Reviewed by Laszlo Gombos. 10719 10720 The eo EFL package is introduced and evas and ecore use it since 1.8. 10721 While introducing Eo, EFL changed several structures of Evas and Ecore 10722 from own specific class to Eo. 10723 10724 So, this patch adds FindEo and changes declaration of Evas, Evas_Object, 10725 Ecore_Timer to build with latest EFL libraries. 10726 10727 * wtf/OwnPtrCommon.h: Modified declaration of Evas_Object and Ecore_Timer. 10728 * wtf/PlatformEfl.cmake: Includes eo EFL library. 10729 * wtf/efl/RefPtrEfl.h: Modified declaration of Evas_Object. 10730 107312012-12-20 Oliver Hunt <oliver@apple.com> 10732 10733 Harden pointers in FastMalloc's singly linked list implementation 10734 https://bugs.webkit.org/show_bug.cgi?id=105571 10735 10736 Reviewed by Gavin Barraclough. 10737 10738 Add simple xor based hardening of the next pointer in the 10739 fast malloc singly linked list implementation. We rely on 10740 ASLR to introduce the address randomness we want for the mask. 10741 Happily this produces a very low cost random value to use. 10742 10743 * wtf/FastMalloc.cpp: 10744 (WTF): 10745 (WTF::SLL_Next): 10746 (WTF::SLL_SetNext): 10747 107482012-12-19 Oliver Hunt <oliver@apple.com> 10749 10750 StringImpl isolatedCopy unnecessarily copies text-segment character data 10751 https://bugs.webkit.org/show_bug.cgi?id=105376 10752 10753 Reviewed by Anders Carlsson. 10754 10755 This patch adds a new (private) helper to StringImpl that tests whether the StringImpl 10756 is backed by an ASCII literal. This allows isolatedCopy() to safely use the createFromLiteral 10757 constructor rather than making an unnecessary copy. 10758 10759 * wtf/text/StringImpl.h: 10760 (StringImpl): 10761 (WTF::StringImpl::isASCIILiteral): 10762 (WTF::StringImpl::isolatedCopy): 10763 107642012-12-19 Oliver Hunt <oliver@apple.com> 10765 10766 WTF String from ASCIILiteral fails to correctly handle empty strings. 10767 https://bugs.webkit.org/show_bug.cgi?id=105453 10768 10769 Reviewed by Anders Carlsson. 10770 10771 When we have an zero length literal we should return the empty StringImpl. 10772 10773 * wtf/text/StringImpl.cpp: 10774 (WTF::StringImpl::createFromLiteral): 10775 107762012-12-18 Yury Semikhatsky <yurys@chromium.org> 10777 10778 Web Inspector: show cached images under MemoryCache -> Images section 10779 https://bugs.webkit.org/show_bug.cgi?id=105261 10780 10781 Reviewed by Pavel Feldman. 10782 10783 Use first provided name and class name. If one of the ancestors tries to overwrite 10784 it just ignore the call. 10785 10786 * wtf/MemoryObjectInfo.h: 10787 (WTF::MemoryObjectInfo::setClassName): 10788 (WTF::MemoryObjectInfo::setName): 10789 107902012-12-18 Uli Schlachter <psychon@znc.in> 10791 10792 Implement uncommitted memory for Linux. 10793 https://bugs.webkit.org/show_bug.cgi?id=65766 10794 10795 Reviewed by Simon Hausmann. 10796 10797 The old approach used MAP_NORESERVE to allocate address space without 10798 committing it. However, that flag gets ignored if 10799 /proc/sys/vm/overcommit_memory is set to 2. The new approach uses a 10800 mapping with PROT_NONE. This works because mappings which aren't even 10801 readable don't get accounted as committed on Linux. 10802 10803 * wtf/OSAllocatorPosix.cpp: 10804 (WTF::OSAllocator::reserveUncommitted): 10805 (WTF::OSAllocator::reserveAndCommit): 10806 (WTF::OSAllocator::commit): 10807 (WTF::OSAllocator::decommit): 10808 108092012-12-17 Ilya Tikhonovsky <loislo@chromium.org> 10810 10811 Web Inspector: Native Memory Instrumentation: MemoryInstrumentation doesn't detect reportMemoryUsage method defined in a base class. 10812 https://bugs.webkit.org/show_bug.cgi?id=105026 10813 10814 Reviewed by Yury Semikhatsky. 10815 10816 Old SFINAE test was replaced with new one based on this article: 10817 http://stackoverflow.com/questions/1966362/sfinae-to-check-for-inherited-member-functions 10818 10819 * wtf/MemoryInstrumentation.h: 10820 (MemoryInstrumentation): 10821 (yes): 10822 (IsInstrumented): 10823 (no): 10824 (WTF::MemoryInstrumentation::IsInstrumented::BaseMixin::reportMemoryUsage): 10825 (WTF::MemoryInstrumentation::selectInstrumentationMethod): 10826 (InstrumentationSelector): 10827 (WTF): 10828 (WTF::::reportObjectMemoryUsage): 10829 108302012-12-17 Ilya Tikhonovsky <loislo@chromium.org> 10831 10832 Unreviewed, rolling out r137892. 10833 http://trac.webkit.org/changeset/137892 10834 https://bugs.webkit.org/show_bug.cgi?id=105026 10835 10836 it broke compilation on windows 10837 10838 * wtf/MemoryInstrumentation.h: 10839 (WTF::MemoryInstrumentation::selectInstrumentationMethod): 10840 (MemoryInstrumentation): 10841 (WTF::MemoryInstrumentation::reportObjectMemoryUsage): 10842 (WTF::reportMemoryUsage): 10843 108442012-12-14 Ilya Tikhonovsky <loislo@chromium.org> 10845 10846 Web Inspector: Native Memory Instrumentation: MemoryInstrumentation doesn't detect reportMemoryUsage method defined in a base class. 10847 https://bugs.webkit.org/show_bug.cgi?id=105026 10848 10849 Reviewed by Yury Semikhatsky. 10850 10851 Old SFINAE test was replaced with new one based on this article: 10852 http://stackoverflow.com/questions/1966362/sfinae-to-check-for-inherited-member-functions 10853 10854 * wtf/MemoryInstrumentation.h: 10855 (MemoryInstrumentation): 10856 (yes): 10857 (IsInstrumented): 10858 (no): 10859 (WTF::MemoryInstrumentation::IsInstrumented::BaseMixin::reportMemoryUsage): 10860 (WTF::MemoryInstrumentation::selectInstrumentationMethod): 10861 (InstrumentationSelector): 10862 (WTF): 10863 (WTF::::reportObjectMemoryUsage): 10864 108652012-12-14 Yury Semikhatsky <yurys@chromium.org> 10866 10867 Web Inspector: add data grid for exploring native heap graph 10868 https://bugs.webkit.org/show_bug.cgi?id=105012 10869 10870 Reviewed by Pavel Feldman. 10871 10872 Do not report edges with null target. 10873 10874 * wtf/MemoryInstrumentation.h: 10875 (WTF::MemoryInstrumentation::addObjectImpl): 10876 108772012-12-13 Filip Pizlo <fpizlo@apple.com> 10878 10879 Attempt to rationalize and simplify WTF::binarySearch 10880 https://bugs.webkit.org/show_bug.cgi?id=104890 10881 10882 Reviewed by Maciej Stachowiak. 10883 10884 Binary search now has three modes: 10885 10886 The default: assert that the key was found, but return an adjacent element if it 10887 wasn't found, if asserts are turned off. 10888 10889 tryBinarySearch: return 0 if the key wasn't found. 10890 10891 approximateBinarySearch: if the key is not found, return an adjacent element (either 10892 the left or right; no guarantee which). 10893 10894 This also reduces the number of variants of binarySearch. The functor variant is now 10895 gone because binarySearch now always uses a functor for the key extractor. The 10896 generic variant is now gone because binarySearch always expects an array type that 10897 can do operator[]. 10898 10899 * wtf/StdLibExtras.h: 10900 (WTF::binarySearchImpl): 10901 (WTF::binarySearch): 10902 (WTF::tryBinarySearch): 10903 (WTF::approximateBinarySearch): 10904 109052012-12-13 Ilya Tikhonovsky <loislo@chromium.org> 10906 10907 Web Inspector: Native Memory Instrumentation: do not validate pointers to objects in RenderArena agains tcmalloc data. 10908 https://bugs.webkit.org/show_bug.cgi?id=104903 10909 10910 Reviewed by Yury Semikhatsky. 10911 10912 This is a simplest approach to do that with zero performance overhead. 10913 10914 * wtf/MemoryInstrumentation.cpp: 10915 (WTF::MemoryClassInfo::setCustomAllocation): 10916 (WTF): 10917 * wtf/MemoryInstrumentation.h: 10918 (MemoryClassInfo): 10919 * wtf/MemoryObjectInfo.h: 10920 (WTF::MemoryObjectInfo::MemoryObjectInfo): 10921 (WTF::MemoryObjectInfo::customAllocation): 10922 (WTF::MemoryObjectInfo::setCustomAllocations): 10923 (MemoryObjectInfo): 10924 109252012-12-12 Ilya Tikhonovsky <loislo@chromium.org> 10926 10927 Web Inspector: Native Memory Instrumentation: remove fake root MemoryObjectInfo. 10928 https://bugs.webkit.org/show_bug.cgi?id=104796 10929 10930 Reviewed by Yury Semikhatsky. 10931 10932 It was not a good idea to introduce a fake root MemoryObjectInfo. 10933 It makes a problem when we visit an object without its own MemoryObjectType. 10934 10935 Example: RenderBox has a global pointer to a hash map. 10936 HashMap doesn't have its own object type because it is a generic container. 10937 It will inherit object type from the fake root memory object info. 10938 The same could happen for another container in another class with other MemoryObjectType. 10939 10940 This fact forces me to create custom process method for root objects 10941 because they need to have their own MemoryObjectInfo with customisable memory object type. 10942 10943 Drive by fix: InstrumentedPointer* was replaced with Wrapper* because actually it is using 10944 for instrumented and not instrumented object classes. 10945 10946 * wtf/MemoryInstrumentation.cpp: 10947 (WTF::MemoryInstrumentation::MemoryInstrumentation): 10948 (WTF::MemoryInstrumentation::WrapperBase::WrapperBase): 10949 (WTF::MemoryInstrumentation::WrapperBase::process): 10950 (WTF::MemoryInstrumentation::WrapperBase::processRootObjectRef): 10951 (WTF): 10952 * wtf/MemoryInstrumentation.h: 10953 (WTF::MemoryInstrumentation::addRootObject): 10954 (MemoryInstrumentation): 10955 (WrapperBase): 10956 (WTF::MemoryInstrumentation::WrapperBase::~WrapperBase): 10957 (Wrapper): 10958 (OwningTraits): 10959 (WTF::MemoryInstrumentation::OwningTraits::addRootObject): 10960 (WTF::MemoryInstrumentation::addObjectImpl): 10961 (WTF::::Wrapper): 10962 (WTF::::callReportMemoryUsage): 10963 109642012-12-12 Sergio Martins <sergio.martins@kdab.com> 10965 10966 Fix QNX Qt build by enabling JIT. 10967 https://bugs.webkit.org/show_bug.cgi?id=102794 10968 10969 Reviewed by Simon Hausmann. 10970 10971 JIT is working, so enable it. Otherwise LLINT gets enabled, and 10972 that doesn't compile. 10973 10974 YARR_JIT is crashing at this time though, so disable it. 10975 10976 * wtf/Platform.h: 10977 109782012-12-11 Ilya Tikhonovsky <loislo@chromium.org> 10979 10980 Web Inspector: Native Memory Instrumentation: simplify Sequences processing code. 10981 https://bugs.webkit.org/show_bug.cgi?id=104777 10982 10983 Reviewed by Yury Semikhatsky. 10984 10985 Redesign reportMemoryUsage for the sequences. 10986 With the old schema we couldn't instrument HashMap<key, WebCore::LayoutUnit> 10987 because LayoutUnit has overloaded conversion operators for double, int, etc. 10988 I wrote an empty SequenceMemoryInstrumentationTraits for LayoutUnit class 10989 but it doesn't help because the root of problem was hidden in the free template function reportSequenceMemoryUsage. 10990 I could overload reportSequenceMemoryUsage too but in this case I need to fully specify all the types 10991 for the iterators like HashMap<.....>::const_iterator. Too many letters. 10992 I found a better solution. Free reportSequenceMemoryUsage can be converted into default implementation of static 10993 reportMemoryUsage traits method. In this case the types of iterators will be inferred automaticaly. The old default 10994 implementation becomes a custom implementation for the user defined types. 10995 10996 * wtf/MemoryInstrumentationHashCountedSet.h: 10997 (WTF::reportMemoryUsage): 10998 * wtf/MemoryInstrumentationHashMap.h: 10999 (WTF::reportMemoryUsage): 11000 * wtf/MemoryInstrumentationHashSet.h: 11001 (WTF::reportMemoryUsage): 11002 * wtf/MemoryInstrumentationListHashSet.h: 11003 (WTF::reportMemoryUsage): 11004 * wtf/MemoryInstrumentationSequence.h: 11005 (WTF): 11006 (WTF::SequenceMemoryInstrumentationTraits::reportMemoryUsage): 11007 (SequenceMemoryInstrumentationTraits): 11008 * wtf/MemoryInstrumentationVector.h: 11009 (WTF::reportMemoryUsage): 11010 110112012-12-10 Yury Semikhatsky <yurys@chromium.org> 11012 11013 Memory instrumentation: make sure each edge is reported only once 11014 https://bugs.webkit.org/show_bug.cgi?id=104630 11015 11016 Reviewed by Pavel Feldman. 11017 11018 Make sure that outgoing edges are reported only once if we come to the same 11019 object twice: first by an address of a base class and then by a real address 11020 of the object. 11021 11022 * wtf/MemoryInstrumentation.cpp: 11023 (WTF::MemoryInstrumentation::MemoryInstrumentation): 11024 (WTF::MemoryInstrumentation::reportLinkToBuffer): 11025 (WTF::MemoryInstrumentation::InstrumentedPointerBase::InstrumentedPointerBase): 11026 (WTF::MemoryInstrumentation::InstrumentedPointerBase::process): 11027 (WTF::MemoryClassInfo::init): 11028 (WTF::MemoryClassInfo::addRawBuffer): 11029 (WTF::MemoryClassInfo::addPrivateBuffer): 11030 * wtf/MemoryInstrumentation.h: 11031 (InstrumentedPointerBase): 11032 (MemoryInstrumentation): 11033 (InstrumentedPointer): 11034 (WTF::MemoryClassInfo::MemoryClassInfo): 11035 (WTF::MemoryClassInfo::addMember): 11036 (MemoryClassInfo): 11037 (WTF::::InstrumentedPointer): 11038 (WTF::::callReportMemoryUsage): 11039 * wtf/MemoryObjectInfo.h: 11040 (WTF::MemoryObjectInfo::MemoryObjectInfo): 11041 (WTF::MemoryObjectInfo::firstVisit): 11042 (WTF::MemoryObjectInfo::className): 11043 (WTF::MemoryObjectInfo::name): 11044 (WTF::MemoryObjectInfo::setAlreadyVisited): 11045 (MemoryObjectInfo): 11046 110472012-12-10 Benjamin Poulain <benjamin@webkit.org> 11048 11049 Add convenience methods to use ListHashSet for a LRU cache 11050 https://bugs.webkit.org/show_bug.cgi?id=104499 11051 11052 Reviewed by Sam Weinig. 11053 11054 ListHashSet is a great abstract data type to implement caches. 11055 Unfortunately, the class was missing methods to do that easily and 11056 efficiently. This patch fixes that. 11057 11058 The names appendOrMoveToLast() and prependOrMoveToFirst() were chosen 11059 in favor of append()/prepend() to ensure they are not used in place of 11060 add() by accident. 11061 11062 * wtf/ListHashSet.h: 11063 (ListHashSet): 11064 (WTF::::removeFirst): 11065 (WTF::::appendOrMoveToLast): 11066 (WTF::::prependOrMoveToFirst): 11067 (WTF::::unlink): 11068 (WTF::::unlinkAndDelete): 11069 (WTF::::prependNode): 11070 110712012-12-10 Eric Carlson <eric.carlson@apple.com> 11072 11073 Add support for in-band text tracks to Mac port 11074 https://bugs.webkit.org/show_bug.cgi?id=103663 11075 11076 Reviewed by Sam Weinig. 11077 11078 * wtf/Platform.h: Define HAVE_AVFOUNDATION_TEXT_TRACK_SUPPORT. 11079 110802012-12-08 Patrick Gansterer <paroga@webkit.org> 11081 11082 Compiling WTF outside of WebKit failed on Windows 11083 https://bugs.webkit.org/show_bug.cgi?id=100201 11084 11085 Reviewed by Darin Adler. 11086 11087 Explicitly use the Unicode variants of the Windows API to 11088 allow building the WTF library without the UNICODE define. 11089 11090 * wtf/win/MainThreadWin.cpp: 11091 (WTF::initializeMainThreadPlatform): 11092 110932012-12-08 Gustavo Noronha Silva <gns@gnome.org> 11094 11095 Unreviewed trivial space fix to silence an automake warning. 11096 11097 * GNUmakefile.list.am: 11098 110992012-12-05 Halton Huo <halton.huo@intel.com> 11100 11101 [CMake] Unify coding style for CMake files 11102 https://bugs.webkit.org/show_bug.cgi?id=103605 11103 11104 Reviewed by Laszlo Gombos. 11105 11106 Update cmake files(.cmake, CMakeLists.txt) with following style rules: 11107 1. Indentation 11108 1.1 Use spaces, not tabs. 11109 1.2 Four spaces as indent. 11110 2. Spacing 11111 2.1 Place one space between control statements and their parentheses. 11112 For eg, if (), else (), elseif (), endif (), foreach (), 11113 endforeach (), while (), endwhile (), break (). 11114 2.2 Do not place spaces between function and macro statements and 11115 their parentheses. For eg, macro(), endmacro(), function(), 11116 endfunction(). 11117 2.3 Do not place spaces between a command or function or macro and its 11118 parentheses, or between a parenthesis and its content. For eg, 11119 message("testing") not message( "testing") or message ("testing" ) 11120 2.4 No space at line ending. 11121 3. Lowercase when call commands macros and functions. For eg, 11122 add_executable() not ADD_EXECUTABLE(), set() not SET(). 11123 11124 * CMakeLists.txt: 11125 * wtf/CMakeLists.txt: 11126 * wtf/PlatformBlackBerry.cmake: 11127 * wtf/PlatformEfl.cmake: 11128 * wtf/PlatformWinCE.cmake: 11129 111302012-12-04 Jon Lee <jonlee@apple.com> 11131 11132 Extend StringHasher to take a stream of characters 11133 https://bugs.webkit.org/show_bug.cgi?id=104076 11134 <rdar://problem/12811887> 11135 11136 Reviewed by Darin Adler. 11137 11138 We essentially move computeHash() to a member function of StringHasher. This allows clients of the 11139 hasher to append strings to the general hash, without having to first concatenate the strings. 11140 11141 * wtf/StringHasher.h: 11142 (WTF::StringHasher::addCharacters): Same as computeHash(), except also take into account the possibility 11143 that there is a pending character to hash. If this is the case, we align the word boundary by consuming the 11144 first character in data, adjust the length, move the data pointer forward one, and update the hasher's 11145 pending character state. Also add an early return so that we are guaranteed at least one character in case 11146 we run into this situation. 11147 (WTF::StringHasher::computeHash): Refactor into addCharacters(). 11148 111492012-12-04 Yury Semikhatsky <yurys@chromium.org> 11150 11151 Web Inspector: simplify reportMemoryUsage signature 11152 https://bugs.webkit.org/show_bug.cgi?id=104028 11153 11154 Reviewed by Vsevolod Vlasov. 11155 11156 Removed const& modifier from instrumented pointer type. Was const T* const&, 11157 now it is const T* 11158 11159 * wtf/MemoryInstrumentation.cpp: 11160 (WTF::MemoryClassInfo::addRawBuffer): 11161 * wtf/MemoryInstrumentation.h: 11162 (MemoryInstrumentation): 11163 (WTF::MemoryInstrumentation::selectInstrumentationMethod): 11164 (WTF::MemoryInstrumentation::reportObjectMemoryUsage): 11165 (MemoryClassInfo): 11166 (WTF::reportMemoryUsage): 11167 (WTF::MemoryInstrumentation::addObjectImpl): 11168 (WTF): 11169 * wtf/MemoryInstrumentationArrayBufferView.h: 11170 (WTF::reportMemoryUsage): 11171 * wtf/MemoryInstrumentationHashCountedSet.h: 11172 (WTF::reportMemoryUsage): 11173 * wtf/MemoryInstrumentationHashMap.h: 11174 (WTF::reportMemoryUsage): 11175 * wtf/MemoryInstrumentationHashSet.h: 11176 (WTF::reportMemoryUsage): 11177 * wtf/MemoryInstrumentationListHashSet.h: 11178 (WTF::reportMemoryUsage): 11179 * wtf/MemoryInstrumentationParsedURL.h: 11180 (WTF::reportMemoryUsage): 11181 * wtf/MemoryInstrumentationString.h: 11182 (WTF::reportMemoryUsage): 11183 * wtf/MemoryInstrumentationVector.h: 11184 (WTF::reportMemoryUsage): 11185 111862012-12-01 Filip Pizlo <fpizlo@apple.com> 11187 11188 JSC should be able to report profiling data associated with the IR dumps and disassembly 11189 https://bugs.webkit.org/show_bug.cgi?id=102999 11190 11191 Reviewed by Gavin Barraclough. 11192 11193 Made some minor changes to support the new profiler. FileOutputStream now has an 11194 open() method, and DataLog uses it. StringPrintStream has a reset() method, which 11195 allows you to reuse the same StringPrintStream for creating multiple strings. 11196 SegmentedVector now has a const operator[]. And, WTFString now can do fromUTF8() on 11197 a CString directly. 11198 11199 * wtf/DataLog.cpp: 11200 (WTF::initializeLogFileOnce): 11201 * wtf/FilePrintStream.cpp: 11202 (WTF::FilePrintStream::open): 11203 (WTF): 11204 * wtf/FilePrintStream.h: 11205 * wtf/SegmentedVector.h: 11206 (WTF::SegmentedVector::at): 11207 (SegmentedVector): 11208 (WTF::SegmentedVector::operator[]): 11209 * wtf/StringPrintStream.cpp: 11210 (WTF::StringPrintStream::reset): 11211 (WTF): 11212 * wtf/StringPrintStream.h: 11213 (StringPrintStream): 11214 * wtf/text/WTFString.cpp: 11215 (WTF::String::fromUTF8): 11216 (WTF): 11217 * wtf/text/WTFString.h: 11218 (String): 11219 112202012-12-04 Sheriff Bot <webkit.review.bot@gmail.com> 11221 11222 Unreviewed, rolling out r136597. 11223 http://trac.webkit.org/changeset/136597 11224 https://bugs.webkit.org/show_bug.cgi?id=104065 11225 11226 broke Windows compilation (Requested by yurys on #webkit). 11227 11228 * wtf/MemoryInstrumentation.cpp: 11229 (WTF::MemoryClassInfo::addRawBuffer): 11230 * wtf/MemoryInstrumentation.h: 11231 (MemoryInstrumentation): 11232 (WTF::MemoryInstrumentation::selectInstrumentationMethod): 11233 (WTF::MemoryInstrumentation::reportObjectMemoryUsage): 11234 (MemoryClassInfo): 11235 (WTF::reportMemoryUsage): 11236 (WTF::MemoryInstrumentation::addObjectImpl): 11237 (WTF): 11238 * wtf/MemoryInstrumentationArrayBufferView.h: 11239 (WTF::reportMemoryUsage): 11240 * wtf/MemoryInstrumentationHashCountedSet.h: 11241 (WTF::reportMemoryUsage): 11242 * wtf/MemoryInstrumentationHashMap.h: 11243 (WTF::reportMemoryUsage): 11244 * wtf/MemoryInstrumentationHashSet.h: 11245 (WTF::reportMemoryUsage): 11246 * wtf/MemoryInstrumentationListHashSet.h: 11247 (WTF::reportMemoryUsage): 11248 * wtf/MemoryInstrumentationParsedURL.h: 11249 (WTF::reportMemoryUsage): 11250 * wtf/MemoryInstrumentationString.h: 11251 (WTF::reportMemoryUsage): 11252 * wtf/MemoryInstrumentationVector.h: 11253 (WTF::reportMemoryUsage): 11254 112552012-12-04 Yury Semikhatsky <yurys@chromium.org> 11256 11257 Web Inspector: simplify reportMemoryUsage signature 11258 https://bugs.webkit.org/show_bug.cgi?id=104028 11259 11260 Reviewed by Vsevolod Vlasov. 11261 11262 Removed const& modifier from instrumented pointer type. Was const T* const&, 11263 now it is const T* 11264 11265 * wtf/MemoryInstrumentation.cpp: 11266 (WTF::MemoryClassInfo::addRawBuffer): 11267 * wtf/MemoryInstrumentation.h: 11268 (MemoryInstrumentation): 11269 (WTF::MemoryInstrumentation::selectInstrumentationMethod): 11270 (WTF::MemoryInstrumentation::reportObjectMemoryUsage): 11271 (MemoryClassInfo): 11272 (WTF::reportMemoryUsage): 11273 (WTF::MemoryInstrumentation::addObjectImpl): 11274 (WTF): 11275 * wtf/MemoryInstrumentationArrayBufferView.h: 11276 (WTF::reportMemoryUsage): 11277 * wtf/MemoryInstrumentationHashCountedSet.h: 11278 (WTF::reportMemoryUsage): 11279 * wtf/MemoryInstrumentationHashMap.h: 11280 (WTF::reportMemoryUsage): 11281 * wtf/MemoryInstrumentationHashSet.h: 11282 (WTF::reportMemoryUsage): 11283 * wtf/MemoryInstrumentationListHashSet.h: 11284 (WTF::reportMemoryUsage): 11285 * wtf/MemoryInstrumentationParsedURL.h: 11286 (WTF::reportMemoryUsage): 11287 * wtf/MemoryInstrumentationString.h: 11288 (WTF::reportMemoryUsage): 11289 * wtf/MemoryInstrumentationVector.h: 11290 (WTF::reportMemoryUsage): 11291 112922012-12-03 Yury Semikhatsky <yurys@chromium.org> 11293 11294 Web Inspector: NMI introduce heap graph recording API 11295 https://bugs.webkit.org/show_bug.cgi?id=103232 11296 11297 Reviewed by Vsevolod Vlasov. 11298 11299 MemoryInstrumentationClient is extended with several methods for reporting 11300 heap graph vertices and edges. Edge source is always idenfied by heap object 11301 address. Target node might be either a destination object address(either real 11302 or adjusted if the edge was retrieved from a pointer to a base class) or a 11303 MemoryObjectInfo in case of internal buffers. 11304 11305 * wtf/MemoryInstrumentation.cpp: 11306 (WTF::MemoryInstrumentation::reportEdge): 11307 (WTF): 11308 (WTF::MemoryInstrumentation::reportLinkToBuffer): report edge between the object 11309 and a buffer which it owns. 11310 (WTF::MemoryInstrumentation::InstrumentedPointerBase::process): 11311 (WTF::MemoryClassInfo::addRawBuffer): 11312 (WTF::MemoryClassInfo::addPrivateBuffer): 11313 * wtf/MemoryInstrumentation.h: 11314 (MemoryInstrumentationClient): 11315 (WTF::MemoryInstrumentationClient::reportNode): 11316 (WTF::MemoryInstrumentationClient::reportEdge): 11317 (WTF::MemoryInstrumentationClient::reportLeaf): 11318 (WTF::MemoryInstrumentationClient::reportBaseAddress): if we found an object by a pointer 11319 to base class it may have different value than real object address. Report both real and 11320 adjusted addresses so that they both can be used for identifying corresponding heap graph 11321 node. 11322 (WTF::MemoryInstrumentation::addRootObject): 11323 (MemoryInstrumentation): 11324 (WTF::MemoryInstrumentation::addObject): 11325 (WTF::MemoryInstrumentation::addRawBuffer): 11326 (WTF::MemoryInstrumentation::OwningTraits::addObject): 11327 (WTF::MemoryClassInfo::addMember): 11328 (MemoryClassInfo): 11329 (WTF::MemoryInstrumentation::addObjectImpl): 11330 * wtf/MemoryObjectInfo.h: added methods for repoting class name and some name string. 11331 (WTF::MemoryObjectInfo::setClassName): 11332 (WTF::MemoryObjectInfo::setName): 11333 (MemoryObjectInfo): 11334 113352012-12-03 Filip Pizlo <fpizlo@apple.com> 11336 11337 Replace JSValue::description() with JSValue::dump(PrintStream&) 11338 https://bugs.webkit.org/show_bug.cgi?id=103866 11339 11340 Reviewed by Darin Adler. 11341 11342 Make it easier to get a String from a StringPrintStream. 11343 11344 * wtf/StringPrintStream.cpp: 11345 (WTF::StringPrintStream::toString): 11346 * wtf/StringPrintStream.h: 11347 (StringPrintStream): 11348 (WTF::toString): 11349 113502012-12-02 Filip Pizlo <fpizlo@apple.com> 11351 11352 It should be possible to build and run with DFG_ENABLE(PROPAGATION_VERBOSE) 11353 https://bugs.webkit.org/show_bug.cgi?id=103848 11354 11355 Reviewed by Sam Weinig. 11356 11357 Increase the variadicity of dataLog() and print(), and add a pointerDump() 11358 which allows passing a pointer to something that has a printInternal(). If 11359 the pointer is null, it'll print "(null)"; otherwise it'll invoke the 11360 printInternal() function. 11361 11362 * wtf/DataLog.h: 11363 (WTF): 11364 (WTF::dataLog): 11365 * wtf/PrintStream.h: 11366 (PrintStream): 11367 (WTF::PrintStream::print): 11368 (WTF): 11369 (PointerDump): 11370 (WTF::PointerDump::PointerDump): 11371 (WTF::PointerDump::dump): 11372 (WTF::pointerDump): 11373 113742012-11-30 Simon Hausmann <simon.hausmann@digia.com>, Pierre Rossi <pierre.rossi@digia.com> 11375 11376 [Qt] Separate Qt WebKit into Qt WebKit and Qt WebKit Widgets 11377 https://bugs.webkit.org/show_bug.cgi?id=99314 11378 11379 Reviewed by Tor Arne Vestbø. 11380 11381 This big change separates QtWebKit into QtWebKit and QtWebKitWidgets as 11382 shared libraries. 11383 11384 It's a big refactoring that mostly involves moving WebCore dependent 11385 code into QtWebKit and accessing it through exported QWebFrameAdapter 11386 and QWebPageAdapter classes. 11387 11388 11389 * wtf/text/WTFString.h: 11390 (String): Export the QString conversions also as WTF_STRING_API. 11391 113922012-11-29 Filip Pizlo <fpizlo@apple.com> 11393 11394 It should be easy to find code blocks in debug dumps 11395 https://bugs.webkit.org/show_bug.cgi?id=103623 11396 11397 Reviewed by Geoffrey Garen. 11398 11399 Changed RawPointer to accept both const void* and void*, and use the former internally. 11400 11401 Cleaned up SHA1 so that the functionality already used internally for self-testing is 11402 available via the API. This includes addBytes(CString) and computing hex digests. 11403 11404 * wtf/RawPointer.h: 11405 (WTF::RawPointer::RawPointer): 11406 (RawPointer): 11407 (WTF::RawPointer::value): 11408 * wtf/SHA1.cpp: 11409 (WTF::expectSHA1): 11410 (WTF::SHA1::hexDigest): 11411 (WTF::SHA1::computeHexDigest): 11412 * wtf/SHA1.h: 11413 (WTF::SHA1::addBytes): 11414 114152012-11-29 Patrick Gansterer <paroga@webkit.org> 11416 11417 Build fix for WinCE after r136096. 11418 11419 * wtf/StringPrintStream.cpp: Added missing include file. 11420 114212012-11-28 Filip Pizlo <fpizlo@apple.com> 11422 11423 SpeculatedType dumping should not use the static char buffer[thingy] idiom 11424 https://bugs.webkit.org/show_bug.cgi?id=103584 11425 11426 Reviewed by Michael Saboff. 11427 11428 Added a StringPrintStream, and made it easy to create dumpers for typedefs to primitives. 11429 11430 * GNUmakefile.list.am: 11431 * WTF.gypi: 11432 * WTF.pro: 11433 * WTF.vcproj/WTF.vcproj: 11434 * WTF.xcodeproj/project.pbxproj: 11435 * wtf/CMakeLists.txt: 11436 * wtf/PrintStream.cpp: 11437 (WTF::dumpCharacter): 11438 * wtf/PrintStream.h: 11439 (WTF::printInternal): 11440 * wtf/StringPrintStream.cpp: Added. 11441 (WTF::StringPrintStream::StringPrintStream): 11442 (WTF::StringPrintStream::~StringPrintStream): 11443 (WTF::StringPrintStream::vprintf): 11444 (WTF::StringPrintStream::toCString): 11445 (WTF::StringPrintStream::increaseSize): 11446 * wtf/StringPrintStream.h: Added. 11447 (StringPrintStream): 11448 (WTF::toCString): 11449 114502012-11-28 Michael Saboff <msaboff@apple.com> 11451 11452 Update String Stats for recent dataLog changes and add summary 11453 https://bugs.webkit.org/show_bug.cgi?id=103583 11454 11455 Reviewed by Filip Pizlo. 11456 11457 Updated calls to dataLog() to dataLogF() as a results of r135469. 11458 Added total savings from 8 bit strings in bytes and as a percentage. 11459 11460 * wtf/text/StringImpl.cpp: 11461 (WTF::StringStats::printStats): 11462 114632012-11-28 Roger Fong <roger_fong@apple.com> 11464 11465 Make DataLog work/compile properly on Windows. 11466 https://bugs.webkit.org/show_bug.cgi?id=103544 11467 11468 Reviewed by Filip Pizlo. 11469 11470 * wtf/DataLog.cpp: 11471 (WTF::initializeLogFileOnce): 11472 114732012-11-28 Filip Pizlo <fpizlo@apple.com> 11474 11475 It should be possible to say dataLog("count = ", count, "\n") instead of dataLogF("count = %d\n", count) 11476 https://bugs.webkit.org/show_bug.cgi?id=103009 11477 11478 Reviewed by Michael Saboff. 11479 11480 Added the ability to use out.print(...) and dataLog(...) variadically and with 11481 WTF::printInternal(PrintStream&, const T&) overloads for any type T that you want 11482 to be able to pass as an argument to out.print() or dataLog(). Also added one 11483 example class for doing this: RawPointer, which can be used to force a pointer 11484 to be printed as "%p" rather than matching any overloads that you might want to 11485 introduce. 11486 11487 * GNUmakefile.list.am: 11488 * WTF.gypi: 11489 * WTF.pro: 11490 * WTF.vcproj/WTF.vcproj: 11491 * WTF.xcodeproj/project.pbxproj: 11492 * wtf/CMakeLists.txt: 11493 * wtf/DataLog.h: 11494 (WTF): 11495 (WTF::dataLog): 11496 * wtf/PrintStream.cpp: 11497 (WTF::printInternal): 11498 (WTF): 11499 * wtf/PrintStream.h: 11500 (PrintStream): 11501 (WTF::PrintStream::print): 11502 (WTF): 11503 * wtf/RawPointer.h: Added. 11504 (WTF): 11505 (RawPointer): 11506 (WTF::RawPointer::RawPointer): 11507 (WTF::RawPointer::value): 11508 115092012-11-27 Filip Pizlo <fpizlo@apple.com> 11510 11511 Convert some remaining uses of FILE* to PrintStream&. 11512 11513 Rubber stamped by Mark Hahnenberg. 11514 11515 * wtf/BitVector.cpp: 11516 (WTF::BitVector::dump): 11517 * wtf/BitVector.h: 11518 (BitVector): 11519 115202012-11-27 Pratik Solanki <psolanki@apple.com> 11521 11522 objc/objc-runtime.h does not exist on all PLATFORM(MAC) 11523 https://bugs.webkit.org/show_bug.cgi?id=101780 11524 11525 Reviewed by Brent Fulgham. 11526 11527 Clean up header includes so we don't include objc/objc-runtime.h. 11528 11529 * wtf/Functional.h: 11530 * wtf/ObjcRuntimeExtras.h: Include objc/message.h here so we don't rely on proper ordering 11531 of includes in files that include this header. 11532 115332012-11-27 Sheriff Bot <webkit.review.bot@gmail.com> 11534 11535 Unreviewed, rolling out r135828. 11536 http://trac.webkit.org/changeset/135828 11537 https://bugs.webkit.org/show_bug.cgi?id=103405 11538 11539 [Chromium] Multiple ASAN errors after a WebKit roll due to 11540 mismatched malloc/delete (not free) resulting from 11541 StringImpl::deref() (Requested by apavlov on #webkit). 11542 11543 * wtf/FastAllocBase.h: 11544 * wtf/Platform.h: 11545 115462012-11-26 Adam Barth <abarth@webkit.org> 11547 11548 [Chromium] fastMalloc has an extra branch on Windows 11549 https://bugs.webkit.org/show_bug.cgi?id=103027 11550 11551 Reviewed by Eric Seidel. 11552 11553 There's no need to override the new/delete operators on non-Mac 11554 platform because: 11555 11556 1) We use the system malloc anyway. 11557 2) We've modified the system malloc to crash in out-of-memory conditions. 11558 11559 This patch removes a branch (and a call) from malloc, which will 11560 hopefully improve performance. I haven't measured the performance 11561 characteristics of this patch, but I will look at the graphs closely 11562 when landing. 11563 11564 * wtf/FastAllocBase.h: 11565 * wtf/Platform.h: 11566 115672012-11-26 Filip Pizlo <fpizlo@apple.com> 11568 11569 DataLog to a file should work if there are multiple processes using WTF 11570 https://bugs.webkit.org/show_bug.cgi?id=103323 11571 11572 Reviewed by Mark Hahnenberg. 11573 11574 Whereas before DataLog would open a file with the name you specified, now it'll open a file with the 11575 name plus the PID appended to it. So if you are dealing with multiple processes running with DataLog 11576 to a file enabled, you'll get multiple separate log files. 11577 11578 * wtf/DataLog.cpp: 11579 (WTF::initializeLogFileOnce): 11580 115812012-11-26 Zeno Albisser <zeno@webkit.org> 11582 11583 [Qt] Fix the LLInt build on Mac 11584 https://bugs.webkit.org/show_bug.cgi?id=97587 11585 11586 Reviewed by Simon Hausmann. 11587 11588 * wtf/InlineASM.h: 11589 Use OS(DARWIN) instead of PLATFORM(MAC), 11590 in order to allow Qt to use the same code. 11591 * wtf/Platform.h: 11592 115932012-11-26 Patrick Gansterer <paroga@webkit.org> 11594 11595 Build fix for WinCE after r135640. 11596 11597 * wtf/DataLog.cpp: 11598 115992012-11-24 Adam Barth <abarth@webkit.org> 11600 11601 Chromium should use TCMalloc on Mac to go fast 11602 https://bugs.webkit.org/show_bug.cgi?id=102866 11603 11604 Reviewed by Eric Seidel. 11605 11606 This patch enables TCMalloc for some WebKit objects. It improves 11607 dom-modify on Mac by 5-10%. 11608 11609 On non-Mac platforms, Chromium already uses TCMalloc throughout the 11610 project. Unfortunately, we haven't yet figured out how to turn TCMalloc 11611 on globally on Mac because the approach we use for other platforms makes 11612 some OS X APIs sad. 11613 11614 The next best thing would be to enable TCMalloc for WebKit by 11615 overriding the global new and delete operator, as is done on apple-mac 11616 and other platforms. Unfortunately, we cannot use that approach either 11617 because the Chromium WebKit API is not memory tight. 11618 11619 Fortunately, WebKit has a mechanism for selectively enabling TCMalloc 11620 for a selection of objects by overriding the new and delete operators 11621 on those objects. This patch opts chromium-mac into that scheme by 11622 setting the appropriate preprocessor macros. 11623 11624 * WTF.gyp/WTF.gyp: 11625 * wtf/Platform.h: 11626 116272012-11-21 Filip Pizlo <fpizlo@apple.com> 11628 11629 Any function that can log things should be able to easily log them to a memory buffer as well 11630 https://bugs.webkit.org/show_bug.cgi?id=103000 11631 11632 Reviewed by Sam Weinig. 11633 11634 We have a number of places where we pass around a FILE* as a target to which to print 11635 some logging information. But the purpose of passing FILE* instead of always assuming 11636 that we should dump to stderr is that it may be sometimes useful to send the logging 11637 information elsewhere. Unfortunately, FILE* isn't quite powerful enough: it's combersome 11638 to use it to send logging to a string, for example. 11639 11640 We could get around this by using <iostream> and <sstream>, but so far this aspect of 11641 C++ has not been part of the WebKit coding conventions. Personally I find <iostream> 11642 awkward due to its abuse of operator overloading. 11643 11644 So this patch introduces the PrintStream abstract class, which offers printf-like 11645 functionality while completely abstracting the destination and mechanism of the printing 11646 output. It would be trivial to implement a StringPrintStream, for example. This will feed 11647 into work on https://bugs.webkit.org/show_bug.cgi?id=102999. 11648 11649 This also sets us up for creating templatized print() and println() methods that will 11650 allow us to say things like out.print("count = ", count, "\n"), but that is the topic 11651 of https://bugs.webkit.org/show_bug.cgi?id=103009. 11652 11653 This patch also changes dataLog() to use FilePrintStream internally, and WTF::dataFile() 11654 now returns a FilePrintStream&. Any previous users of WTF::dataFile() have been changed 11655 to expect a PrintStream&. 11656 11657 * GNUmakefile.list.am: 11658 * WTF.pro: 11659 * WTF.vcproj/WTF.vcproj: 11660 * WTF.xcodeproj/project.pbxproj: 11661 * wtf/CMakeLists.txt: 11662 * wtf/DataLog.cpp: 11663 (WTF): 11664 (WTF::initializeLogFileOnce): 11665 (WTF::initializeLogFile): 11666 (WTF::dataFile): 11667 (WTF::dataLogV): 11668 (WTF::dataLogString): 11669 * wtf/DataLog.h: 11670 (WTF): 11671 * wtf/FilePrintStream.cpp: Added. 11672 (WTF): 11673 (WTF::FilePrintStream::FilePrintStream): 11674 (WTF::FilePrintStream::~FilePrintStream): 11675 (WTF::FilePrintStream::vprintf): 11676 (WTF::FilePrintStream::flush): 11677 * wtf/FilePrintStream.h: Added. 11678 (WTF): 11679 (FilePrintStream): 11680 (WTF::FilePrintStream::file): 11681 * wtf/PrintStream.cpp: Added. 11682 (WTF): 11683 (WTF::PrintStream::PrintStream): 11684 (WTF::PrintStream::~PrintStream): 11685 (WTF::PrintStream::printf): 11686 (WTF::PrintStream::print): 11687 (WTF::PrintStream::println): 11688 (WTF::PrintStream::flush): 11689 (WTF::print): 11690 * wtf/PrintStream.h: Added. 11691 (WTF): 11692 (PrintStream): 11693 (WTF::print): 11694 (WTF::println): 11695 116962012-11-23 Robert Kroeger <rjkroege@chromium.org> 11697 11698 Remove unused ScrollByPixelVelocity 11699 https://bugs.webkit.org/show_bug.cgi?id=102840 11700 11701 Reviewed by Sam Weinig. 11702 11703 The GESTURE_ANIMATION feature turns on code in WebCore is unused. 11704 Remove it. 11705 11706 No new tests: code removal/cleanup. 11707 11708 * wtf/Platform.h: 11709 117102012-11-23 Laszlo Gombos <l.gombos@samsung.com> 11711 11712 [EFL] Define WTF_PLATFORM_EFL in Platform.h 11713 https://bugs.webkit.org/show_bug.cgi?id=101482 11714 11715 Reviewed by Kenneth Rohde Christiansen. 11716 11717 Define WTF_PLATFORM_EFL in Platform.h to be consistent with 11718 other ports. 11719 11720 * wtf/Platform.h: 11721 117222012-11-16 Yury Semikhatsky <yurys@chromium.org> 11723 11724 Memory instrumentation: extract MemoryObjectInfo declaration into a separate file 11725 https://bugs.webkit.org/show_bug.cgi?id=102510 11726 11727 Reviewed by Pavel Feldman. 11728 11729 Moved MemoryObjectInfo into separate header. Moved definition of MemoryInstrumentation 11730 methods that depend on MemoryObjectInfo declaration into MemoryInstrumentation.cpp to 11731 make MemoryInstrumentation require only forward declaration of MemoryObjectInfo. 11732 11733 * GNUmakefile.list.am: 11734 * WTF.gypi: 11735 * WTF.pro: 11736 * WTF.vcproj/WTF.vcproj: 11737 * wtf/CMakeLists.txt: 11738 * wtf/MemoryInstrumentation.cpp: Added. 11739 (WTF): 11740 (WTF::MemoryInstrumentation::MemoryInstrumentation): 11741 (WTF::MemoryInstrumentation::~MemoryInstrumentation): 11742 (WTF::MemoryInstrumentation::getObjectType): this method allows to get object type without 11743 pulling in MemoryObjectInfo.h and all its dependencies. 11744 (WTF::MemoryInstrumentation::callReportObjectInfo): 11745 (WTF::MemoryInstrumentation::InstrumentedPointerBase::InstrumentedPointerBase): 11746 (WTF::MemoryInstrumentation::InstrumentedPointerBase::process): 11747 (WTF::MemoryClassInfo::init): 11748 (WTF::MemoryClassInfo::addRawBuffer): 11749 (WTF::MemoryClassInfo::addPrivateBuffer): 11750 * wtf/MemoryInstrumentation.h: 11751 (MemoryInstrumentation): 11752 (WTF::MemoryInstrumentation::addRootObject): 11753 (InstrumentedPointerBase): 11754 (WTF::MemoryInstrumentation::reportObjectMemoryUsage): 11755 (InstrumentedPointer): 11756 (WTF::MemoryInstrumentation::addObject): we now pass owner's MemoryObjectInfo in all places 11757 where we report objects pointed by the owner. 11758 (WTF::MemoryInstrumentation::OwningTraits::addObject): 11759 (WTF::MemoryClassInfo::MemoryClassInfo): 11760 (WTF::MemoryClassInfo::addMember): 11761 (MemoryClassInfo): 11762 (WTF::MemoryInstrumentation::addObjectImpl): 11763 (WTF::::InstrumentedPointer): 11764 (WTF::::callReportMemoryUsage): 11765 * wtf/MemoryObjectInfo.h: Added. 11766 (WTF): 11767 (MemoryObjectInfo): 11768 (WTF::MemoryObjectInfo::MemoryObjectInfo): 11769 (WTF::MemoryObjectInfo::objectType): 11770 (WTF::MemoryObjectInfo::objectSize): 11771 (WTF::MemoryObjectInfo::reportedPointer): 11772 (WTF::MemoryObjectInfo::memoryInstrumentation): 11773 (WTF::MemoryObjectInfo::reportObjectInfo): 11774 117752012-11-23 Krzysztof Czech <k.czech@samsung.com> 11776 11777 [EFL] Platform support for Accessibility feature. 11778 https://bugs.webkit.org/show_bug.cgi?id=100848 11779 11780 Reviewed by Gyuyoung Kim. 11781 11782 Enable HAVE(ACCESSIBILITY) ifdefs so that EFL port can use it. 11783 11784 * wtf/Platform.h: 11785 117862012-11-22 Michael Saboff <msaboff@apple.com> 11787 11788 HTML integer parsing functions don't natively handle 8 bit strings 11789 https://bugs.webkit.org/show_bug.cgi?id=102997 11790 11791 Reviewed by Filip Pizlo. 11792 11793 Added exports to the LChar* versions of charactersToIntStrict() and charactersToUIntStrict() 11794 to support the changes made to parseHTMLInteger() and parseHTMLNonNegativeInteger(). 11795 11796 * wtf/text/WTFString.h: 11797 (WTF::charactersToIntStrict): Added export 11798 (WTF::charactersToUIntStrict): Added export 11799 118002012-11-21 Filip Pizlo <fpizlo@apple.com> 11801 11802 Rename dataLog() and dataLogV() to dataLogF() and dataLogFV() 11803 https://bugs.webkit.org/show_bug.cgi?id=103001 11804 11805 Rubber stamped by Dan Bernstein. 11806 11807 * wtf/DataLog.cpp: 11808 (WTF::dataLogFV): 11809 (WTF::dataLogF): 11810 (WTF::dataLogFString): 11811 * wtf/DataLog.h: 11812 (WTF): 11813 * wtf/HashTable.cpp: 11814 (WTF::HashTableStats::dumpStats): 11815 * wtf/HashTable.h: 11816 (WTF::HashTable::Stats::dumpStats): 11817 * wtf/MetaAllocator.cpp: 11818 (WTF::MetaAllocator::dumpProfile): 11819 * wtf/StackStats.cpp: 11820 (WTF::StackStats::initialize): 11821 (WTF::StackStats::PerThreadStats::PerThreadStats): 11822 (WTF::StackStats::CheckPoint::CheckPoint): 11823 (WTF::StackStats::CheckPoint::~CheckPoint): 11824 (WTF::StackStats::probe): 11825 (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): 11826 * wtf/text/WTFString.cpp: 11827 (String::show): 11828 118292012-11-21 Anthony G. Basile <blueness@gentoo.org> 11830 11831 Source/WTF/wtf/Assertions.cpp: fix build on a uClibc system 11832 https://bugs.webkit.org/show_bug.cgi?id=102946 11833 11834 Reviewed by Tony Chang. 11835 11836 Webkit-Gtk fails to build on a uClibc system because 11837 Assertions.cpp assumes that all Linux systems have execinfo.h 11838 and provide backtrace(). This is not necessarily the case for 11839 uClibc which can be configured without these. This patch 11840 refines the check for OS(LINUX) to prevent this breakage. 11841 Originally reported at https://bugs.gentoo.org/441674 11842 11843 * wtf/Assertions.cpp: 11844 118452012-11-19 Filip Pizlo <fpizlo@apple.com> 11846 11847 DFG should be able to cache closure calls 11848 https://bugs.webkit.org/show_bug.cgi?id=102662 11849 11850 Reviewed by Gavin Barraclough. 11851 11852 Added support to the meta allocator for easily querying whether an address falls within 11853 a certain allocated chunk. Also added a useful debug routine to SentinelLinkedList, 11854 which can be used to check if a node is on a particular list. 11855 11856 * wtf/MetaAllocatorHandle.h: 11857 (MetaAllocatorHandle): 11858 (WTF::MetaAllocatorHandle::containsIntegerAddress): 11859 (WTF::MetaAllocatorHandle::contains): 11860 * wtf/SentinelLinkedList.h: 11861 (SentinelLinkedList): 11862 (WTF::::isOnList): 11863 (WTF): 11864 118652012-11-19 Laszlo Gombos <l.gombos@samsung.com> 11866 11867 Remove ReadWriteLock 11868 https://bugs.webkit.org/show_bug.cgi?id=101637 11869 11870 Reviewed by Darin Adler. 11871 11872 Remove ReadWriteLock as it does not seems to be used. 11873 11874 * wtf/Platform.h: Remove the definition of HAVE_PTHREAD_RWLOCK. 11875 11876 * wtf/ThreadingPrimitives.h: Remove the PlatformReadWriteLock type 11877 and the ReadWriteLock class. 11878 11879 * wtf/ThreadingPthreads.cpp: Remove the implementation of 11880 the ReadWriteLock class using pthreads. 11881 118822012-11-19 Brady Eidson <beidson@apple.com> 11883 11884 Add 64-bit specializations for atomicIncrement and atomicDecrement 11885 https://bugs.webkit.org/show_bug.cgi?id=102702 11886 11887 Reviewed by Eric Carlson. 11888 11889 * wtf/Atomics.h: 11890 (WTF::atomicIncrement): Add A 64-bit version for Darwin. 11891 (WTF::atomicDecrement): Ditto. 11892 118932012-11-18 Laszlo Gombos <l.gombos@samsung.com> 11894 11895 Remove non-existent directories from the make system 11896 https://bugs.webkit.org/show_bug.cgi?id=102632 11897 11898 Reviewed by Adam Barth. 11899 11900 Remove (non-existent) symbian references from the exclude list in gyp project files. 11901 11902 * WTF.gyp/WTF.gyp: 11903 119042012-11-16 Michael Saboff <msaboff@apple.com> 11905 11906 String::fromUTF8() should take advantage of the ASCII check in convertUTF8ToUTF16() 11907 https://bugs.webkit.org/show_bug.cgi?id=100577 11908 11909 Reviewed by Oliver Hunt. 11910 11911 Passed in ASCII flag to convertUTF8ToUTF16() and if try, create an 8 bit string from the original arguments. 11912 Relanding after fix to https://bugs.webkit.org/show_bug.cgi?id=102482. 11913 11914 * wtf/text/WTFString.cpp: 11915 (WTF::String::fromUTF8): 11916 119172012-11-15 Yury Semikhatsky <yurys@chromium.org> 11918 11919 Memory instrumentation: add code for reporting stack traces of unknown instrumented objects 11920 https://bugs.webkit.org/show_bug.cgi?id=102384 11921 11922 Reviewed by Pavel Feldman. 11923 11924 Added an option to collect stack traces for instrumented pointers so that they 11925 can be printed in case the check failed for the pointer. This code is hidden 11926 behind a define. 11927 11928 * wtf/MemoryInstrumentation.h: 11929 (MemoryInstrumentationClient): 11930 (WTF::MemoryInstrumentation::checkCountedObject): the method now returns false 11931 in case the check has failed. 11932 (InstrumentedPointer): 11933 (WTF::::InstrumentedPointer): 11934 (WTF): 11935 (WTF::::process): 11936 119372012-11-15 Mark Hahnenberg <mhahnenberg@apple.com> 11938 11939 Windows Fibers can corrupt the cached StackBounds 11940 https://bugs.webkit.org/show_bug.cgi?id=102411 11941 11942 Reviewed by Geoffrey Garen. 11943 11944 Windows has support for something called fibers, which are like lightweight versions of 11945 threads. Multiple fibers can run within the context of a single thread and they have access 11946 to the same thread local storage but have different stacks. If we create a new JSGlobalContext 11947 on one fiber, then switch to another fiber and create a JSGlobalContext there, we will call 11948 initializeThreading() once for each new JSGlobalContext created. However, since these fibers 11949 are technically running inside the same thread, they will clobber each other's wtfThreadData(), 11950 which is stored using thread local storage. This can lead to corruption of the WTFThreadData 11951 structure for the fibers other than the last one to create a new JSGlobalContext, including 11952 the StackBounds data structure which is used during conservative scanning, among other things. 11953 This can lead to crashes during garbage collection on Windows if fibers are used. 11954 11955 A quick fix would be to always get a fresh StackBounds data structure when asking for it 11956 instead of using the cached version from the thread local storage. There is a larger problem 11957 in that these fibers can corrupt other WebKit data that uses thread local storage. We'll leave 11958 those theoretical fixes for future theoretical bugs. 11959 11960 * wtf/WTFThreadData.h: 11961 (WTF::WTFThreadData::stack): We now refresh the m_stackBounds field whenever somebody asks for 11962 the StackBounds. 11963 119642012-11-15 Maciej Stachowiak <mjs@apple.com> 11965 11966 Fix an erroneous comment about the operators required by binarySearch 11967 https://bugs.webkit.org/show_bug.cgi?id=102406 11968 11969 Reviewed by Anders Carlsson. 11970 11971 * wtf/StdLibExtras.h: binarySearch needs '==' and '<', not '--', '<' and '>'. 11972 119732012-11-14 Michael Saboff <msaboff@apple.com> 11974 11975 String::append() should handle two 8 bit strings without converting both to 16 bits 11976 https://bugs.webkit.org/show_bug.cgi?id=102286 11977 11978 Reviewed by Oliver Hunt. 11979 11980 If both strings are 8 bit, then allocate and copy to a new 8 bit string. Since most strings are 11981 8 bit, this will save up to 3x the resulting string length in bytes. 2x is due to the possible 11982 surviving 16 bit source string upconversion and 1x for the 16 bit result now being 8 bit. 11983 11984 * wtf/text/WTFString.cpp: 11985 (WTF::String::append): 11986 119872012-11-14 Csaba Osztrogonác <ossy@webkit.org> 11988 11989 [Qt][ARM] Enable the DFG JIT on ARMv7(Thumb2) 11990 https://bugs.webkit.org/show_bug.cgi?id=101747 11991 11992 Reviewed by Simon Hausmann. 11993 11994 * wtf/Platform.h: 11995 119962012-11-13 Christophe Dumez <christophe.dumez@intel.com> 11997 11998 Use prefix form of increment / decrement operators in WTF String classes when possible 11999 https://bugs.webkit.org/show_bug.cgi?id=101859 12000 12001 Reviewed by Benjamin Poulain. 12002 12003 Use prefix form of increment / decrement operators whenever possible in 12004 WTF String classes as this seems to be the convention in WebKit. 12005 12006 * wtf/text/ASCIIFastPath.h: 12007 (WTF::copyLCharsFromUCharSource): 12008 * wtf/text/AtomicString.cpp: 12009 (WTF::AtomicString::add): 12010 * wtf/text/Base64.cpp: 12011 (WTF::base64Encode): 12012 (WTF::base64DecodeInternal): 12013 * wtf/text/StringBuilder.cpp: 12014 (WTF::StringBuilder::allocateBufferUpConvert): 12015 * wtf/text/StringConcatenate.h: 12016 * wtf/text/StringImpl.cpp: 12017 (WTF::StringImpl::getData16SlowCase): 12018 (WTF::StringImpl::upconvertCharacters): 12019 (WTF::StringImpl::containsOnlyWhitespace): 12020 (WTF::StringImpl::lower): 12021 (WTF::StringImpl::upper): 12022 (WTF::StringImpl::foldCase): 12023 (WTF::StringImpl::stripMatchedCharacters): 12024 (WTF::StringImpl::removeCharacters): 12025 (WTF::StringImpl::simplifyMatchedCharactersToSpace): 12026 (WTF::reverseFindInner): 12027 (WTF::reverseFindIgnoringCaseInner): 12028 (WTF::StringImpl::replace): 12029 (WTF::StringImpl::createWithTerminatingNullCharacter): 12030 * wtf/text/StringImpl.h: 12031 (WTF::codePointCompare): 12032 * wtf/text/WTFString.cpp: 12033 (WTF::String::String): 12034 (WTF::toIntegralType): 12035 120362012-11-13 Ryosuke Niwa <rniwa@webkit.org> 12037 12038 Build fix after r134490. 12039 12040 * wtf/FastMalloc.cpp: 12041 120422012-11-13 Brent Fulgham <bfulgham@webkit.org> and Alex Christensen <alex.christensen@flexsim.com> 12043 12044 Fix FastMalloc.cpp compile error for MSVC in 64-bit. 12045 https://bugs.webkit.org/show_bug.cgi?id=88344 12046 12047 Reviewed by Ryosuke Niwa. 12048 12049 MSVC will not compile array declarations of zero size. The existing 12050 padding math for TCMalloc_Central_FreeListPadded would evaluate 12051 to zero on 64-bit machines, preventing the compile from finishing. 12052 12053 * wtf/FastMalloc.cpp: 12054 (TCMalloc_Central_FreeListPadded_Template): Add new template (and 12055 zero-size specialization) to provide proper behavior under 64-bit 12056 Windows build. 12057 120582012-11-13 Brent Fulgham <bfulgham@webkit.org> and Alex Christensen <alex.christensen@flexsim.com> 12059 12060 FastMalloc.cpp needs to be reordered before padding bug can be fixed 12061 https://bugs.webkit.org/show_bug.cgi?id=89366 12062 12063 Note: This file violates Style rules. This change only moves 12064 the TCMalloc_Central_FreeList class declaration and the various 12065 FastMallocZone methods earlier in the file. 12066 12067 Reviewed by Ryosuke Niwa. 12068 12069 * wtf/FastMalloc.cpp: 12070 Reordered definitions to prepare for adding specialized template 12071 (WTF): 12072 (TCMalloc_Central_FreeList): 12073 (WTF::TCMalloc_Central_FreeList::length): 12074 (WTF::TCMalloc_Central_FreeList::tc_length): 12075 (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): 12076 (TCMalloc_Central_FreeListPadded): 12077 (FastMallocZone): 12078 (WTF::FastMallocZone::goodSize): 12079 (WTF::FastMallocZone::check): 12080 (WTF::FastMallocZone::print): 12081 (WTF::FastMallocZone::log): 12082 (WTF::FastMallocZone::forceLock): 12083 (WTF::FastMallocZone::forceUnlock): 12084 (WTF::FastMallocZone::statistics): 12085 (WTF::FastMallocZone::zoneValloc): 12086 (WTF::FastMallocZone::zoneDestroy): 12087 (WTF::KernelSupportsTLS): 12088 (WTF::CheckIfKernelSupportsTLS): 12089 (TCMalloc_ThreadCache): 12090 120912012-11-11 Kenichi Ishibashi <bashi@chromium.org> 12092 12093 WTFString::utf8() should have a mode of conversion to use replacement character 12094 https://bugs.webkit.org/show_bug.cgi?id=101678 12095 12096 Reviewed by Alexander Pavlov. 12097 12098 Introduce conversion mode to String::utf8(). 12099 There are three conversion modes; lenient mode, strict mode, and 12100 "replacing unpaired surrogates with the replacement character" (replacement) mode. 12101 Lenient mode converts unpaired surrogates. Strict mode fails when there is an unpaired 12102 surrogates and returns CString(). Replacement mode replaces unpaired surrogates with 12103 the replacement character(U+FFFD). Replacement mode implements the algorithm defined at 12104 http://dev.w3.org/2006/webapi/WebIDL/#dfn-obtain-unicode. WebSocket::send() requires 12105 this algorithm to encode a string to utf-8. 12106 12107 * wtf/text/WTFString.cpp: 12108 (WTF::String::utf8): Changed to take ConversionMode as the argument. 12109 * wtf/text/WTFString.h: 12110 (String): 12111 121122012-11-09 Alexei Filippov <alph@chromium.org> 12113 12114 Web Inspector: Fix heap snapshots counted several times by NMI 12115 https://bugs.webkit.org/show_bug.cgi?id=101085 12116 12117 The fix moves snapshots size counting to V8PerIsolateData class. As long 12118 as it has one instance per isolate its reportMemoryUsage should be 12119 called once per isolate. 12120 12121 Reviewed by Yury Semikhatsky. 12122 12123 * wtf/MemoryInstrumentation.h: 12124 (WTF::MemoryClassInfo::addPrivateBuffer): 12125 121262012-11-08 Michael Saboff <msaboff@apple.com> 12127 12128 HashAndUTF8CharactersTranslator should create an 8 bit string if possible 12129 https://bugs.webkit.org/show_bug.cgi?id=101515 12130 12131 Reviewed by Darin Adler. 12132 12133 Added isAllASCII flag that's passed to convertUTF8ToUTF16(). If on return it is true, create an 12134 8 bit string, otherwise use the 16 bit string. 12135 12136 * wtf/text/AtomicString.cpp: 12137 (WTF::HashAndUTF8CharactersTranslator::translate): 12138 121392012-11-08 Simon Hausmann <simon.hausmann@digia.com> 12140 12141 [Qt] Fix build with MSVC 2012 and Angle 12142 https://bugs.webkit.org/show_bug.cgi?id=101588 12143 12144 Reviewed by Tor Arne Vestbø. 12145 12146 Angle includes STL's <memory> header file, which with MSVC 2012 includes stdint.h. MSVC 2012 12147 does ship stdint.h, but it's lacking other headers such as inttypes.h. 12148 12149 So for the rest of WebKit we have to continue to use our own versions of these files from 12150 JavaScriptCore/os-win32. But for Angle we are just including a shipped STL header file (memory) 12151 and so it's up to the compiler to make that work, i.e. using the stdint.h it ships. 12152 12153 This patch moves the addition of JavaScriptCore/os-win32 out of default_post.prf, so that it 12154 doesn't apply to each and every target anymore. In particular it won't apply to Angle anymore, 12155 because its presence causes a build issue where due to the addition of os-win32/ we end up 12156 including our own stdint.h but are lacking WTF/ to be in the include search path (which our own 12157 stdint.h requires). So out of default_post.prf and into WTF.pri, our own wrappers are now only 12158 used where WTF is also needed, and since os-win32/stdint.h depends on wtf/Platform.h, it seems 12159 like a logical location. 12160 12161 * WTF.pri: 12162 121632012-11-07 Hans Wennborg <hans@chromium.org> 12164 12165 Fix asm operand type for weakCompareAndSwap on ARM_THUMB2 12166 https://bugs.webkit.org/show_bug.cgi?id=101238 12167 12168 Reviewed by Benjamin Poulain. 12169 12170 'result' was a bool, but the asm was expecting a 32-bit register. A 12171 recent version of Clang warned about this: 12172 12173 WebKit/Source/WTF/wtf/Atomics.h:163:34: error: the size being stored 12174 is truncated, use a modifier to specify the size [-Werror,-Wasm-operand-widths] 12175 12176 This patch fixes it by making 'result' an unsigned. It does not change 12177 the functionality in practice ('result' would be in a 32-bit register 12178 anyway), but it makes the code more correct and makes the warning go 12179 away. 12180 12181 Also make 'result' for the X86 version an 'unsigned char' to make it 12182 more clear that it is a byte. 12183 12184 * wtf/Atomics.h: 12185 (WTF::weakCompareAndSwap): 12186 121872012-11-07 Remy Demarest <rdemarest@apple.com> 12188 12189 Function adoptNS and adoptCF should not generate memory leak diagnostic with Clang Static Analyzer. 12190 https://bugs.webkit.org/show_bug.cgi?id=101420 12191 12192 Reviewed by Benjamin Poulain. 12193 12194 Add attributes to the adoptNS and adoptCF function arguments to remove Clang Static Analyzer diagnotics. 12195 Define CF_RELEASES_ARGUMENT and NS_RELEASES_ARGUMENT if not available, use them in function declarations. 12196 12197 * wtf/RetainPtr.h: 12198 (WTF::adoptCF): Adds CF_RELEASES_ARGUMENT attribute to the argument. 12199 (WTF::adoptNS): Adds NS_RELEASES_ARGUMENT attribute to the argument. 12200 122012012-11-07 Christophe Dumez <christophe.dumez@intel.com> 12202 12203 Add replaceWithLiteral() method to WTF::String 12204 https://bugs.webkit.org/show_bug.cgi?id=101257 12205 12206 Reviewed by Benjamin Poulain. 12207 12208 Add replaceWithLiteral() method to WTF::String that takes 12209 replacement string as a literal to avoid uselessly constructing 12210 a String object. 12211 12212 * wtf/text/StringImpl.cpp: 12213 (WTF::StringImpl::replace): 12214 (WTF): 12215 * wtf/text/StringImpl.h: 12216 (WTF::StringImpl::replace): 12217 (StringImpl): 12218 * wtf/text/WTFString.h: 12219 (String): 12220 (WTF::String::replaceWithLiteral): 12221 122222012-11-06 Michael Saboff <msaboff@apple.com> 12223 12224 StringBuilder::append(UChar) with an 8 bit quantity shouldn't change the contents to 16 bits 12225 https://bugs.webkit.org/show_bug.cgi?id=101421 12226 12227 Reviewed by Anders Carlsson. 12228 12229 If the string builder contains only 8 bit data, check if the character being appended contains 12230 8 bit data. If so, append it to the 8 bit buffer instead of converting the buffer to 16 bits. 12231 12232 * wtf/text/StringBuilder.cpp: 12233 (WTF::StringBuilder::append): 12234 * wtf/text/StringBuilder.h: 12235 (WTF::StringBuilder::append): 12236 122372012-11-06 Benjamin Poulain <benjamin@webkit.org> 12238 12239 Speed up TransformationMatrix::multiply() on modern ARM 12240 https://bugs.webkit.org/show_bug.cgi?id=101084 12241 12242 Reviewed by Gavin Barraclough. 12243 12244 * wtf/Platform.h: 12245 Add CPU(ARM_VFP) for detecting VFP availability. 12246 Add CPU(APPLE_ARMV7S) for the Apple ARMv7S architecture. 12247 122482012-11-06 Laszlo Gombos <l.gombos@samsung.com> 12249 12250 Refactor setting TEXTURE_MAPPER_GL 12251 https://bugs.webkit.org/show_bug.cgi?id=99758 12252 12253 Reviewed by Noam Rosenthal. 12254 12255 Make the rule that sets the default for USE(3D_GRAPHICS) port independent. 12256 12257 If not set, set USE(TEXTURE_MAPPER_GL) when USE(TEXTURE_MAPPER) and 12258 USE(3D_GRAPHICS) is enabled. 12259 12260 * wtf/Platform.h: 12261 122622012-11-05 Philip Rogers <pdr@google.com> 12263 12264 Unblock SVG external references 12265 https://bugs.webkit.org/show_bug.cgi?id=100635 12266 12267 Reviewed by Adam Barth. 12268 12269 This patch reverts r132849 and r132869 because the potential XSS issue 12270 turned out to not be an issue after all. 12271 12272 Covered by existing tests, many of which are re-whitelisted with this patch. 12273 12274 * wtf/Platform.h: 12275 122762012-11-05 Dima Gorbik <dgorbik@apple.com> 12277 12278 Back out controversial changes from Bug 98665. 12279 https://bugs.webkit.org/show_bug.cgi?id=101244 12280 12281 Reviewed by David Kilzer. 12282 12283 Backing out changes from Bug 98665 until further discussions take place on rules for including Platform.h in Assertions.h. 12284 12285 * wtf/Assertions.h: 12286 122872012-11-03 Alexey Proskuryakov <ap@apple.com> 12288 12289 Get rid of USE(CFURLSTORAGESESSIONS) 12290 https://bugs.webkit.org/show_bug.cgi?id=101131 12291 12292 Reviewed by Sam Weinig. 12293 12294 * wtf/Platform.h: 12295 122962012-11-02 Ilya Tikhonovsky <loislo@chromium.org> 12297 12298 Web Inspector: NMI instrument NodeRareData::Map. It uses ~250k on nytimes.com 12299 https://bugs.webkit.org/show_bug.cgi?id=101052 12300 12301 Reviewed by Yury Semikhatsky. 12302 12303 I noticed that in many cases cache structures are plain static HashMap, HashSet etc. 12304 MemoryAgent can visit it but instrumentation for these containers report no objectType. 12305 It means that addRootObject method needs to accept objectType property as an argument. 12306 Otherwise I would have had to create a proxy class with proper objectType. 12307 12308 * wtf/MemoryInstrumentation.h: 12309 (WTF::MemoryInstrumentation::addRootObject): 12310 123112012-11-01 Kent Tamura <tkent@chromium.org> 12312 12313 Introduce ENABLE_DATE_AND_TIME_INPUT_TYPES, and clarify usage of other related flags 12314 https://bugs.webkit.org/show_bug.cgi?id=101007 12315 12316 Reviewed by Kentaro Hara. 12317 12318 * wtf/Platform.h: 12319 Add ENABLE_DATE_AND_TIME_INPUT_TYPES. It's a union of 12320 ENABLE_INPUT_TYPE_{DATE,DATETIME,DATETIMELOCAL,MONTH,TIME,WEEK}. 12321 123222012-11-01 Yury Semikhatsky <yurys@chromium.org> 12323 12324 Memory instrumentation: do not call checkCountedObject with wrong pointers 12325 https://bugs.webkit.org/show_bug.cgi?id=100958 12326 12327 Reviewed by Alexander Pavlov. 12328 12329 Removed calls to checkCountedObject from places where the pointer may contain 12330 an address of a base class which may differ from the actual object pointer. Instead 12331 checkCountedObject is only called right after processing deferred pointer where 12332 we know real address. 12333 12334 * wtf/MemoryInstrumentation.h: 12335 (WTF::MemoryInstrumentation::addObjectImpl): 12336 (WTF::::process): 12337 123382012-11-01 Alexey Proskuryakov <ap@apple.com> 12339 12340 Rename HAVE(NETWORK_CFDATA_ARRAY_CALLBACK) to USE(NETWORK_CFDATA_ARRAY_CALLBACK) 12341 12342 Rubber-stamped by Joe Pecoraro. 12343 12344 All CFNetwork based platforms have this now, but not all use it at the moment. 12345 123462012-11-01 Alexey Proskuryakov <ap@apple.com> 12347 12348 Fix HAVE(NETWORK_CFDATA_ARRAY_CALLBACK) build 12349 https://bugs.webkit.org/show_bug.cgi?id=100979 12350 12351 Reviewed by Joseph Pecoraro. 12352 12353 * wtf/Platform.h: Added a FIXME about HAVE(NETWORK_CFDATA_ARRAY_CALLBACK). 12354 123552012-11-01 Yury Semikhatsky <yurys@chromium.org> 12356 12357 Memory instrumentation: report memory occupied by ResourceRequest instead of its base ResourceRequestBase 12358 https://bugs.webkit.org/show_bug.cgi?id=100497 12359 12360 Reviewed by Alexander Pavlov. 12361 12362 * wtf/MemoryInstrumentation.h: 12363 (WTF::MemoryClassInfo::addPrivateBuffer): do not report memory usage for empty buffer. 12364 123652012-10-31 Anders Carlsson <andersca@apple.com> 12366 12367 Fix build. 12368 <rdar://problem/12612207>. 12369 12370 Reviewed by Sam Weinig. 12371 12372 * wtf/CheckedArithmetic.h: 12373 123742012-10-31 Benjamin Poulain <bpoulain@apple.com> 12375 12376 Add an optimized version of copyLCharsFromUCharSource for ARM 12377 https://bugs.webkit.org/show_bug.cgi?id=94886 12378 12379 Reviewed by Gavin Barraclough. 12380 12381 Michael Saboff added a SIMD version of copyLCharsFromUCharSource() in r125846. 12382 12383 This patch a similar optimization for ARMv7 by using the interleaved load/store available 12384 in the NEON extension. 12385 12386 The performance gains: 12387 -10000 characters: ~3.5 times faster. 12388 -20 characters (2 vectors): ~55% faster. 12389 -15 characters (1 vector): ~21% faster. 12390 -3 characters (no vector, pure overhead): ~10% slower. 12391 12392 * wtf/text/ASCIIFastPath.h: 12393 (WTF::copyLCharsFromUCharSource): 12394 123952012-10-31 Christophe Dumez <christophe.dumez@intel.com> 12396 12397 [EFL][WK2][AC] Use smart pointers for Evas_GL types 12398 https://bugs.webkit.org/show_bug.cgi?id=100745 12399 12400 Reviewed by Kenneth Rohde Christiansen. 12401 12402 Make OwnPtr usable with Evas_GL type to avoid handling 12403 raw pointers in EFL port. 12404 12405 * wtf/OwnPtrCommon.h: 12406 (WTF): 12407 * wtf/efl/OwnPtrEfl.cpp: 12408 (WTF): 12409 (WTF::deleteOwnedPtr): 12410 124112012-10-29 Anders Carlsson <andersca@apple.com> 12412 12413 Build WebKit as C++11 on Mac 12414 https://bugs.webkit.org/show_bug.cgi?id=100720 12415 12416 Reviewed by Daniel Bates. 12417 12418 * Configurations/Base.xcconfig: 12419 Add CLANG_CXX_LANGUAGE_STANDARD=gnu++0x. 12420 12421 * wtf/text/AtomicString.cpp: 12422 (WTF::AtomicString::add): 12423 Change the type of length to be unsigned to prevent implicit type conversions in non-constant initializer lists. 12424 12425 * wtf/unicode/UTF8.cpp: 12426 (Unicode): 12427 Add static_casts to prevent implicit type conversions in non-constant initializer lists. 12428 124292012-10-29 Anders Carlsson <andersca@apple.com> 12430 12431 String::createCFString should return a RetainPtr 12432 https://bugs.webkit.org/show_bug.cgi?id=100419 12433 12434 Reviewed by Andreas Kling. 12435 12436 Make String::createCFString and StringImpl::createCFString return RetainPtrs. 12437 12438 * wtf/text/AtomicString.h: 12439 * wtf/text/StringImpl.h: 12440 * wtf/text/WTFString.h: 12441 124422012-10-30 Mark Rowe <mrowe@apple.com> 12443 12444 Fix WTF to not install a few header files in bogus locations. 12445 12446 * WTF.xcodeproj/project.pbxproj: 12447 124482012-10-28 Mark Rowe <mrowe@apple.com> 12449 12450 Simplify Xcode configuration settings that used to vary between OS versions. 12451 12452 Reviewed by Dan Bernstein. 12453 12454 * Configurations/Base.xcconfig: 12455 * Configurations/DebugRelease.xcconfig: 12456 124572012-10-28 Mark Rowe <mrowe@apple.com> 12458 12459 Remove references to unsupported OS and Xcode versions. 12460 12461 Reviewed by Anders Carlsson. 12462 12463 * Configurations/Base.xcconfig: 12464 * Configurations/CompilerVersion.xcconfig: Removed. 12465 * Configurations/DebugRelease.xcconfig: 12466 * WTF.xcodeproj/project.pbxproj: 12467 124682012-10-29 Anders Carlsson <andersca@apple.com> 12469 12470 AtomicString(CFStringRef) shouldn't unconditionally create a StringImpl 12471 https://bugs.webkit.org/show_bug.cgi?id=100701 12472 12473 Reviewed by Dan Bernstein. 12474 12475 * wtf/text/AtomicString.h: 12476 (WTF::AtomicString::AtomicString): 12477 Change the constructors that take a CFStringRef and an NSString * to call AtomicString::add(CFStringRef) 12478 and remove AtomicString::createCFString. 12479 12480 (WTF::AtomicString::add): 12481 Add new member function declaration. The definition is in a new file in WebCore, AtomicStringCF.cpp. 12482 Also, fix the overload of add that takes a const char* to call the right other overload instead of itself. 12483 124842012-10-29 Adam Barth <abarth@webkit.org> 12485 12486 Unreviewed. Correct my previous patch to disable external SVG 12487 references only on PLATFORM(CHROMIUM). 12488 12489 * wtf/Platform.h: 12490 124912012-10-29 Adam Barth <abarth@webkit.org> 12492 12493 Block SVG external references pending a security review 12494 https://bugs.webkit.org/show_bug.cgi?id=100635 12495 12496 Reviewed by Eric Seidel. 12497 12498 We need to do a security review of loading external SVG references 12499 before we're sure that it is safe. 12500 12501 * wtf/Platform.h: 12502 125032012-10-29 Michael Saboff <msaboff@apple.com> 12504 12505 String::split(UChar, Vector<String>&) shouldn't create a temporary String 12506 https://bugs.webkit.org/show_bug.cgi?id=100578 12507 12508 Reviewed by Anders Carlsson. 12509 12510 Changed split(UChar, Vector<String>&) to call split(UChar, bool, Vector<String>&) instead of creating a 12511 string and calling the split(String,...) version and moved it to WTFString.h. Also moved 12512 split(const String& separator, Vector<String>& result) to WTFString.h. 12513 12514 * wtf/text/WTFString.cpp: 12515 (WTF::String::split): 12516 * wtf/text/WTFString.h: 12517 (WTF::String::split): 12518 125192012-10-29 Sheriff Bot <webkit.review.bot@gmail.com> 12520 12521 Unreviewed, rolling out r132736. 12522 http://trac.webkit.org/changeset/132736 12523 https://bugs.webkit.org/show_bug.cgi?id=100652 12524 12525 It broke all plugin related tests on GTK and on Qt (Requested 12526 by Ossy on #webkit). 12527 12528 * wtf/text/WTFString.cpp: 12529 (WTF::String::fromUTF8): 12530 125312012-10-27 Michael Saboff <msaboff@apple.com> 12532 12533 Try to create AtomicString as 8 bit where possible 12534 https://bugs.webkit.org/show_bug.cgi?id=100575 12535 12536 Reviewed by Oliver Hunt. 12537 12538 Added StringImpl::create8BitIfPossible() that first tries to create an 8 bit string. If it finds a 16 bit character 12539 during processing, it calls the standard create() method. The assumption is that this will be used on mostly 8 bit 12540 strings and ones that are shorter (in the tens of characters). Changed AtomicString to use the new creation method 12541 for UChar based construction. 12542 12543 * wtf/text/AtomicString.cpp: 12544 (WTF::UCharBufferTranslator::translate): 12545 * wtf/text/StringImpl.cpp: 12546 (WTF::StringImpl::create8BitIfPossible): 12547 * wtf/text/StringImpl.h: 12548 (WTF::StringImpl::create8BitIfPossible): 12549 125502012-10-27 Michael Saboff <msaboff@apple.com> 12551 12552 String::fromUTF8() should take advantage of the ASCII check in convertUTF8ToUTF16() 12553 https://bugs.webkit.org/show_bug.cgi?id=100577 12554 12555 Reviewed by Oliver Hunt. 12556 12557 Passed is ASCII flag to convertUTF8ToUTF16() and if try, create an 8 bit string from the original arguments. 12558 12559 * wtf/text/WTFString.cpp: 12560 (WTF::String::fromUTF8): 12561 125622012-10-27 Dan Bernstein <mitz@apple.com> 12563 12564 REAL_PLATFORM_NAME build setting is no longer needed 12565 https://bugs.webkit.org/show_bug.cgi?id=100587 12566 12567 Reviewed by Mark Rowe. 12568 12569 Removed the definition of REAL_PLATFORM_NAME and replaced references to it with references 12570 to PLATFORM_NAME. 12571 12572 * Configurations/Base.xcconfig: 12573 * Configurations/CompilerVersion.xcconfig: 12574 * Configurations/DebugRelease.xcconfig: 12575 125762012-10-26 Sheriff Bot <webkit.review.bot@gmail.com> 12577 12578 Unreviewed, rolling out r132689. 12579 http://trac.webkit.org/changeset/132689 12580 https://bugs.webkit.org/show_bug.cgi?id=100574 12581 12582 Broke HashMaps containing RetainPtrs (Requested by andersca on 12583 #webkit). 12584 12585 * wtf/RetainPtr.h: 12586 125872012-10-26 Anders Carlsson <andersca@apple.com> 12588 12589 Add an operator& to RetainPtr 12590 https://bugs.webkit.org/show_bug.cgi?id=100549 12591 12592 Reviewed by Dan Bernstein. 12593 12594 This is useful for APIs that return references using out parameters. 12595 12596 * wtf/RetainPtr.h: 12597 (WTF::RetainPtr::operator&): 12598 125992012-10-26 Gabor Ballabas <gaborb@inf.u-szeged.hu> 12600 12601 [Qt] Enable JSC's disassembler on x86, x86_64 Linux 12602 https://bugs.webkit.org/show_bug.cgi?id=100386 12603 12604 Reviewed by Simon Hausmann. 12605 12606 It works fine on Linux x86, x86_64 just needs to be enabled in the 12607 QtWebKit build system. 12608 12609 * wtf/Platform.h: 12610 126112012-10-25 Michael Saboff <msaboff@apple.com> 12612 12613 REGRESSION (r131836): failures in list styles tests on EFL, GTK 12614 https://bugs.webkit.org/show_bug.cgi?id=99824 12615 12616 Reviewed by Oliver Hunt. 12617 12618 Fixed ASCII check. 12619 Added placeholder argument for new argument added to convertUTF8ToUTF16() in http://trac.webkit.org/changeset/131836. 12620 12621 * wtf/unicode/UTF8.cpp: 12622 (WTF::Unicode::convertUTF8ToUTF16): 12623 * wtf/unicode/glib/UnicodeGLib.cpp: 12624 (WTF::Unicode::convertCase): 12625 126262012-10-25 Christophe Dumez <christophe.dumez@intel.com> 12627 12628 [EFL][WK2] Remove some C'ism from EwkView 12629 https://bugs.webkit.org/show_bug.cgi?id=100370 12630 12631 Reviewed by Kenneth Rohde Christiansen. 12632 12633 Make OwnPtr useable for Ecore_IMF_Context to avoid 12634 using raw pointers in EFL port. 12635 12636 * wtf/OwnPtrCommon.h: 12637 (WTF): 12638 * wtf/PlatformEfl.cmake: 12639 * wtf/efl/OwnPtrEfl.cpp: 12640 (WTF::deleteOwnedPtr): 12641 (WTF): 12642 126432012-09-27 Yury Semikhatsky <yurys@chromium.org> 12644 12645 Web Inspector: provide memory instrumentation for ListHashSet 12646 https://bugs.webkit.org/show_bug.cgi?id=97786 12647 12648 Reviewed by Vsevolod Vlasov. 12649 12650 Added memory instrumentation for ListHashSet. 12651 12652 * GNUmakefile.list.am: 12653 * WTF.gypi: 12654 * WTF.pro: 12655 * WTF.vcproj/WTF.vcproj: 12656 * WTF.xcodeproj/project.pbxproj: 12657 * wtf/HashSet.h: 12658 (WTF): 12659 * wtf/ListHashSet.h: 12660 (ListHashSet): 12661 (ListHashSetNodeAllocator): changed visibility of inPool method to public 12662 (WTF::ListHashSetNodeAllocator::pool): 12663 (WTF::ListHashSetNodeAllocator::pastPool): 12664 (WTF::::sizeInBytes): added a method that returns size of the set in bytes including 12665 all its internals but not the content elements. 12666 (WTF): 12667 * wtf/MemoryInstrumentation.h: removed onsolete method. All clients were updated to 12668 use generic addMember instead. 12669 (MemoryInstrumentation): 12670 (WTF::MemoryClassInfo::addPrivateBuffer): 12671 * wtf/MemoryInstrumentationHashSet.h: 12672 * wtf/MemoryInstrumentationListHashSet.h: Copied from Source/WTF/wtf/MemoryInstrumentationHashSet.h. 12673 (WTF): 12674 (WTF::reportMemoryUsage): 12675 126762012-10-23 Benjamin Poulain <benjamin@webkit.org> 12677 12678 WTFURL: Implement KURL::setPort() 12679 https://bugs.webkit.org/show_bug.cgi?id=99898 12680 12681 Reviewed by Adam Barth. 12682 12683 Add an efficient implementation for remplacing the port component 12684 in an URL. This will be the base for replacing other components 12685 efficiently. 12686 12687 The testing is covered by fast/dom/HTMLAnchorElement/set-href-attribute-port.html 12688 12689 * wtf/url/api/ParsedURL.cpp: 12690 (WTF::generateNewSpecWithPort): 12691 (WTF::replacePortWithString): 12692 (WTF::ParsedURL::replacePort): 12693 * wtf/url/api/ParsedURL.h: 12694 (ParsedURL): 12695 126962012-10-22 Michael Saboff <msaboff@apple.com> 12697 12698 Regression(r131655): Crash in StringImpl::findIgnoringCase 12699 https://bugs.webkit.org/show_bug.cgi?id=99753 12700 12701 Reviewed by Geoffrey Garen. 12702 12703 Fixed to use the searchLength to take into account the start index. 12704 12705 Added LayoutTests/fast/js/find-ignoring-case-regress-99753.html 12706 12707 * wtf/text/StringImpl.cpp: 12708 (WTF::StringImpl::findIgnoringCase): 12709 127102012-10-22 Simon Hausmann <simon.hausmann@digia.com> 12711 12712 Unreviewed: Re-enable LLINT on Qt/Linux after r131932. 12713 12714 * wtf/Platform.h: 12715 127162012-10-22 Yury Semikhatsky <yurys@chromium.org> 12717 12718 Web Inspector: do not double count memory of objects with multiple ancestors 12719 https://bugs.webkit.org/show_bug.cgi?id=99958 12720 12721 Reviewed by Alexander Pavlov. 12722 12723 Make sure memory occupied by objects of classes with multiple inheritance is 12724 not double counted. 12725 12726 * wtf/MemoryInstrumentation.h: 12727 (WTF::MemoryObjectInfo::MemoryObjectInfo): 12728 (WTF::MemoryObjectInfo::reportedPointer): 12729 (WTF::MemoryObjectInfo::reportObjectInfo): 1) Store actual pointer to the instrumented 12730 object as it may differ from the original pointer by which it was reported. 2) Make 12731 the method non-template and calculate object size on the caller side. 12732 (MemoryObjectInfo): 12733 (WTF::MemoryInstrumentation::reportObjectMemoryUsage): 12734 (WTF::MemoryClassInfo::MemoryClassInfo): 12735 (WTF::MemoryInstrumentation::InstrumentedPointer::process): use adjusted pointer 12736 returned by reportMemoryUsage to check if the object has already been visited when 12737 the pointer differs from the orinal one(it may happen if the object was reported 12738 by a pointer to one of its base classes). 12739 127402012-10-20 Martin Robinson <mrobinson@igalia.com> 12741 12742 Fix 'make dist' for the GTK+ port 12743 12744 * GNUmakefile.list.am: Add missing files to the source list. 12745 127462012-10-19 Mark Lam <mark.lam@apple.com> 12747 12748 Added WTF::StackStats mechanism. 12749 https://bugs.webkit.org/show_bug.cgi?id=99805. 12750 12751 Reviewed by Geoffrey Garen. 12752 12753 Disabled by default. Should have no performance and memory cost when 12754 disabled. To enable, #define ENABLE_STACK_STATS 1 in StackStats.h. 12755 The output is currently hardcoded to be dumped in /tmp/stack-stats.log, 12756 and is in the form of stack sample events. By default, it only logs 12757 a sample event when a new high watermark value is encountered. 12758 12759 Also renamed StackBounds::recursiveCheck() to isSafeToRecurse(). 12760 12761 * WTF.xcodeproj/project.pbxproj: 12762 * wtf/StackBounds.h: 12763 (StackBounds): 12764 (WTF::StackBounds::size): 12765 (WTF::StackBounds::isSafeToRecurse): 12766 * wtf/StackStats.cpp: Added. 12767 (WTF): 12768 (WTF::StackStats::initialize): 12769 (WTF::StackStats::PerThreadStats::PerThreadStats): 12770 (WTF::StackStats::CheckPoint::CheckPoint): 12771 (WTF::StackStats::CheckPoint::~CheckPoint): 12772 (WTF::StackStats::probe): 12773 (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): 12774 (WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint): 12775 * wtf/StackStats.h: Added. 12776 (WTF): 12777 (StackStats): 12778 (CheckPoint): 12779 (WTF::StackStats::CheckPoint::CheckPoint): 12780 (PerThreadStats): 12781 (WTF::StackStats::PerThreadStats::PerThreadStats): 12782 (LayoutCheckPoint): 12783 (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): 12784 (WTF::StackStats::initialize): 12785 (WTF::StackStats::probe): 12786 * wtf/ThreadingPthreads.cpp: 12787 (WTF::initializeThreading): 12788 * wtf/WTFThreadData.cpp: 12789 (WTF::WTFThreadData::WTFThreadData): 12790 * wtf/WTFThreadData.h: 12791 (WTFThreadData): 12792 (WTF::WTFThreadData::stackStats): 12793 127942012-10-19 Anders Carlsson <andersca@apple.com> 12795 12796 Deque can use std::reverse_iterator for its reverse iterators 12797 https://bugs.webkit.org/show_bug.cgi?id=99789 12798 12799 Reviewed by Andreas Kling. 12800 12801 Remove DequeReverseIterator and DequeConstReverseIterator and just use std::reverse_iterator directly. 12802 Also, remove the DequeIteratorBase<T, inlineCapacity> to Base typedef - We can already use DequeIteratorBase since it's 12803 equivalent to the full class template type. 12804 12805 * wtf/Deque.h: 12806 (WTF::Deque::rbegin): 12807 (WTF::Deque::rend): 12808 (DequeIteratorBase): 12809 (WTF::DequeIteratorBase::assign): 12810 (DequeIterator): 12811 (DequeConstIterator): 12812 (WTF::::checkValidity): 12813 (WTF::::DequeIteratorBase): 12814 (WTF::=): 12815 (WTF::::isEqual): 12816 128172012-10-19 Csaba Osztrogonác <ossy@webkit.org> 12818 12819 Unreviewed buildfix, use C-style comment instead of C++ 12820 12821 * wtf/Platform.h: 12822 128232012-10-19 Csaba Osztrogonác <ossy@webkit.org> 12824 12825 REGRESSION(r131822): It made 500+ tests crash on 32 bit platforms 12826 https://bugs.webkit.org/show_bug.cgi?id=99814 12827 12828 Reviewed by Simon Hausmann. 12829 12830 * wtf/Platform.h: Disable LLINT on (PLATFORM(QT) && CPU(X86)) temporarily until proper fix. 12831 128322012-10-17 Ilya Tikhonovsky <loislo@chromium.org> 12833 12834 Web Inspector: NMI provide data for mixing with tcmalloc heap dumps. 12835 https://bugs.webkit.org/show_bug.cgi?id=99457 12836 12837 Reviewed by Yury Semikhatsky. 12838 12839 countObjectSize now accepts ptr as the first argument and saves it into HashMap if the binary was ran with HEAPPROFILE env variable. 12840 getProcessMemoryDistribution does snapshot and calls the downstream code with the map of counted objects. 12841 12842 * wtf/MemoryInstrumentation.h: 12843 (MemoryInstrumentationClient): 12844 (WTF::MemoryInstrumentation::countObjectSize): 12845 (WTF::MemoryInstrumentation::addRawBuffer): 12846 (WTF::MemoryClassInfo::addPrivateBuffer): 12847 (WTF::MemoryInstrumentation::addObjectImpl): 12848 (WTF::MemoryInstrumentation::addListHashSet): 12849 (WTF::::process): 12850 128512012-10-18 Michael Saboff <msaboff@apple.com> 12852 12853 convertUTF8ToUTF16() Should Check for ASCII Input 12854 ihttps://bugs.webkit.org/show_bug.cgi?id=99739 12855 12856 Reviewed by Geoffrey Garen. 12857 12858 Added code to accumulate the "or" of all characters seen during the UTF8 to UTF16 conversion. This is 12859 used to check to see if all characters are ASCII and is returned via a bool*. 12860 12861 * wtf/unicode/UTF8.cpp: 12862 (WTF::Unicode::convertUTF8ToUTF16): 12863 * wtf/unicode/UTF8.h: 12864 128652012-10-18 Michael Saboff <msaboff@apple.com> 12866 12867 Mac WTF build checks dependencies before copying header files 12868 https://bugs.webkit.org/show_bug.cgi?id=99770 12869 12870 Reviewed by Mark Rowe. 12871 12872 Fixed up build rules per Mark Rowe. Made new target an Aggregate and removed "WTF copy". 12873 12874 * Configurations/CopyWTFHeaders.xcconfig: Added. 12875 * Configurations/WTF.xcconfig: 12876 * WTF.xcodeproj/project.pbxproj: 12877 128782012-10-18 Michael Saboff <msaboff@apple.com> 12879 12880 Mac WTF build checks dependencies before copying header files 12881 https://bugs.webkit.org/show_bug.cgi?id=99770 12882 12883 Reviewed by Geoffrey Garen. 12884 12885 Added a new build target "Copy WTF HEaders" to copy the header files and made that new target a dependency 12886 for the main WTF build target. Moved the "Copy WTF Headers" phase from WTF target to the new target. 12887 12888 * WTF.xcodeproj/project.pbxproj: 12889 128902012-10-17 Anders Carlsson <andersca@apple.com> 12891 12892 Clean up Vector.h 12893 https://bugs.webkit.org/show_bug.cgi?id=99622 12894 12895 Reviewed by Benjamin Poulain. 12896 12897 Remove unused member functions from Vector and get rid of the std::max and std::min using declarations 12898 (as per the WebKit coding style guidelines). 12899 12900 * WTF.xcodeproj/project.pbxproj: 12901 Turns out StreamBuffer.h was never added to the Xcode project; add it. Also go ahead and sort the project file. 12902 12903 * wtf/Deque.h: 12904 (WTF::::expandCapacity): 12905 * wtf/StreamBuffer.h: 12906 (WTF::StreamBuffer::append): 12907 Add std:: prefixes to max and min. 12908 12909 * wtf/Vector.h: 12910 Remove VectorBase::bufferSlot(), VectorReverseProxy and add std:: prefixes where needed. 12911 129122012-10-17 Michael Saboff <msaboff@apple.com> 12913 12914 Creating a String from an NSString should check for all 8 bit strings 12915 https://bugs.webkit.org/show_bug.cgi?id=99392 12916 12917 Reviewed by Geoffrey Garen. 12918 12919 Exported the LChar* version of create(). 12920 12921 * wtf/text/StringImpl.cpp: 12922 (WTF::StringImpl::create): 12923 129242012-10-17 Michael Saboff <msaboff@apple.com> 12925 12926 StringImpl::findIgnoringCase() and reverseFindIgnoringCase() don't optimally handle a mix of 8 and 16 bit strings 12927 https://bugs.webkit.org/show_bug.cgi?id=99224 12928 12929 Reviewed by Geoffrey Garen. 12930 12931 Added helper templated functions and all four combinations similar to find() and reverseFind(). 12932 12933 (WTF::findIgnoringCaseInner): 12934 (WTF::StringImpl::findIgnoringCase): 12935 (WTF::reverseFindIgnoringCaseInner): 12936 (WTF::StringImpl::reverseFindIgnoringCase): 12937 129382012-10-17 Michael Saboff <msaboff@apple.com> 12939 12940 AtomicString::HashAndUTF8CharactersTranslator::equal() doesn't optimally handle 8 bit strings 12941 https://bugs.webkit.org/show_bug.cgi?id=99223 12942 12943 Reviewed by Geoffrey Garen. 12944 12945 Added an 8 bit path. 12946 12947 * wtf/text/AtomicString.cpp: 12948 (WTF::HashAndUTF8CharactersTranslator::equal): 12949 129502012-10-17 Anders Carlsson <andersca@apple.com> 12951 12952 Always use fastRealloc when growing or shrinking the Vector buffer 12953 https://bugs.webkit.org/show_bug.cgi?id=99616 12954 12955 Reviewed by Andreas Kling. 12956 12957 Remove the pointless #if PLATFORM(BLACKBERRY) and always try to use fastRealloc to grow or shrink the 12958 vector buffer when possible; realloc should always be at least as fast as free+malloc. 12959 12960 * wtf/Vector.h: 12961 (WTF::VectorBufferBase::shouldReallocateBuffer): 12962 129632012-10-16 Michael Saboff <msaboff@apple.com> 12964 12965 Change WTF_USE_8BIT_TEXTRUN to ENABLE_8BIT_TEXTRUN 12966 https://bugs.webkit.org/show_bug.cgi?id=99484 12967 12968 Reviewed by Eric Seidel. 12969 12970 Changed macro name to align with it's purpose. 12971 12972 * wtf/Platform.h: 12973 129742012-10-16 Michael Saboff <msaboff@apple.com> 12975 12976 StringImpl::reverseFind() with a single match character isn't optimal for mixed 8/16 bit cases 12977 https://bugs.webkit.org/show_bug.cgi?id=99363 12978 12979 Reviewed by Benjamin Poulain. 12980 12981 Factored out the 8/16 bitness check of the match character from the subject character bitness 12982 check. Did this for both find() and reverseFind(). Added all UChar/LChar combinations to the 12983 inline reverseFind(). 12984 12985 * wtf/text/StringImpl.cpp: 12986 (WTF::StringImpl::find): 12987 (WTF::StringImpl::reverseFind): 12988 * wtf/text/StringImpl.h: 12989 (WTF::reverseFind): 12990 129912012-10-16 Dima Gorbik <dgorbik@apple.com> 12992 12993 Remove Platform.h include from the header files. 12994 https://bugs.webkit.org/show_bug.cgi?id=98665 12995 12996 Reviewed by Eric Seidel. 12997 12998 We don't want other clients that include WebKit headers to know about Platform.h. 12999 13000 * wtf/Assertions.h: 13001 * wtf/MainThread.h: 13002 130032012-10-16 Adrienne Walker <enne@google.com> 13004 13005 Remove unused WTF_NEW_HASHMAP_ITERATORS_INTERFACE #define 13006 https://bugs.webkit.org/show_bug.cgi?id=99367 13007 13008 Reviewed by James Robinson. 13009 13010 Does what it says on the tin. 13011 13012 * wtf/HashTraits.h: 13013 130142012-10-15 Andreas Kling <kling@webkit.org> 13015 13016 Remove WTF::fastDeleteAllValues(). 13017 <http://webkit.org/b/99345> 13018 13019 Reviewed by Eric Seidel. 13020 13021 It was only used to fastDelete() a class that was already overriding operator delete 13022 by way of WTF_MAKE_FAST_ALLOCATED anyway. 13023 13024 * wtf/HashSet.h: 13025 (WTF): 13026 (HashSet): 13027 130282012-10-15 Mark Hahnenberg <mhahnenberg@apple.com> 13029 13030 Parallel GC should not be disabled for all platforms 13031 13032 * wtf/Platform.h: D'oh! 13033 130342012-10-15 George Staikos <staikos@webkit.org> 13035 13036 [BlackBerry] Adapt to Platform API changes in string handling 13037 https://bugs.webkit.org/show_bug.cgi?id=99248 13038 13039 Reviewed by Yong Li. 13040 13041 Convert usage of WebString, char* and std::string to BlackBerry::Platform::String. 13042 13043 * wtf/Assertions.cpp: Use proper log function. 13044 * wtf/text/AtomicString.h: Add BlackBerry support 13045 (AtomicString): 13046 (WTF::AtomicString::AtomicString): Add BlackBerry Support 13047 (WTF::AtomicString::operator BlackBerry::Platform::String): 13048 * wtf/text/StringImpl.h: Conversion support. 13049 * wtf/text/WTFString.h: Conversion support. 13050 (Platform): 13051 (String): 13052 130532012-10-15 Michael Saboff <msaboff@apple.com> 13054 13055 Update RenderText to use String instead of UChar* for text 13056 https://bugs.webkit.org/show_bug.cgi?id=96979 13057 13058 Reviewed by Dan Bernstein. 13059 13060 Added WTF_USE_8BIT_TEXTRUN to encase code that creates 8 bit TextRun's. Enabled WTF_USE_8BIT_TEXTRUN 13061 for PLATFORM(MAC). Other platform can update this setting in Platform.h when their platform specific use of 13062 TextRun handle 8 bit data. Added a new Vector::appendVector to allow appending the contents of a vector 13063 containing one type to the end of vector containing another. This is used to append a Vector<LChar> to 13064 the end of a Vector<UChar>. 13065 13066 * wtf/Platform.h: 13067 * wtf/Vector.h: 13068 (Vector): 13069 (WTF::Vector::appendVector): 13070 130712012-10-15 Ilya Tikhonovsky <loislo@chromium.org> 13072 13073 Web Inspector: convert manual size calculation of different WebKit things into MemoryInstrumentation. 13074 https://bugs.webkit.org/show_bug.cgi?id=99309 13075 13076 Reviewed by Yury Semikhatsky. 13077 13078 JSHeap, DOMStorage and HeapProfiler data were counted manually. 13079 Now we count the sizes more generic way. 13080 13081 * wtf/MemoryInstrumentation.h: calculateContainerSize were removed. 13082 * wtf/MemoryInstrumentationSequence.h: empty instrumentations were added for 'const char*' and 'const void*' sequences. 13083 130842012-10-12 Anders Carlsson <andersca@apple.com> 13085 13086 Move QDataStream functions into HistoryItemQt.cpp 13087 https://bugs.webkit.org/show_bug.cgi?id=99203 13088 13089 Reviewed by Andreas Kling. 13090 13091 It seems like the QDataStream stream operators are only used from HistoryItemQt.cpp 13092 inside WebCore, so move them there. If in the future they are required elsewhere, they should 13093 be moved into a separate header instead of polluting headers unnecessarily. 13094 13095 * wtf/Vector.h: 13096 * wtf/qt/StringQt.cpp: 13097 * wtf/text/WTFString.h: 13098 130992012-10-12 Michael Saboff <msaboff@apple.com> 13100 13101 StringBuilder::append(StringBuilder&) doesn't take into account the bit size of the argument string 13102 https://bugs.webkit.org/show_bug.cgi?id=99225 13103 13104 Reviewed by Benjamin Poulain. 13105 13106 Added 8 bit path. 13107 13108 * wtf/text/StringBuilder.h: 13109 (WTF::StringBuilder::append): 13110 131112012-10-12 Sheriff Bot <webkit.review.bot@gmail.com> 13112 13113 Unreviewed, rolling out r131224. 13114 http://trac.webkit.org/changeset/131224 13115 https://bugs.webkit.org/show_bug.cgi?id=99210 13116 13117 It broke the build (Requested by andersca on #webkit). 13118 13119 * wtf/Vector.h: 13120 (WTF): 13121 (WTF::operator<<): 13122 (WTF::operator>>): 13123 * wtf/qt/StringQt.cpp: 13124 (WTF::operator<<): 13125 (WTF): 13126 (WTF::operator>>): 13127 * wtf/text/WTFString.h: 13128 (WTF): 13129 131302012-10-12 Anders Carlsson <andersca@apple.com> 13131 13132 Move QDataStream functions into HistoryItemQt.cpp 13133 https://bugs.webkit.org/show_bug.cgi?id=99203 13134 13135 Reviewed by Andreas Kling. 13136 13137 It seems like the QDataStream stream operators are only used from HistoryItemQt.cpp 13138 inside WebCore, so move them there. If in the future they are required elsewhere, they should 13139 be moved into a separate header instead of polluting headers unnecessarily. 13140 13141 * wtf/Vector.h: 13142 * wtf/qt/StringQt.cpp: 13143 * wtf/text/WTFString.h: 13144 131452012-10-11 Mark Toller <mark.toller@samsung.com> 13146 13147 Removed incorrect pthread_mutex_trylock code in an ASSERT in TCMalloc_PageHeap::signalScavenger. This 13148 branch is used by the Webkit GTK code. 13149 13150 https://bugs.webkit.org/show_bug.cgi?id=97539 13151 13152 Reviewed by Geoffrey Garen. 13153 13154 The code was never compiled in, and was functionally broken. There is no need for locking around the 13155 m_scavengeThreadActive flag, however, we should lock pageheap_lock before calling 'shouldScavenge()', as we 13156 only want to scavenge when really required, so it's better to wait for any current memory operation to 13157 complete before checking. 13158 13159 * wtf/FastMalloc.cpp: 13160 (WTF::TCMalloc_PageHeap::signalScavenger): 13161 131622012-10-10 Yong Li <yoli@rim.com> 13163 13164 [BlackBerry] Define WTF_USE_EXTRA_MACROS in cmake rather than Platform.h 13165 https://bugs.webkit.org/show_bug.cgi?id=98819 13166 13167 Reviewed by Rob Buis. 13168 13169 And make it depend on SHARED_CORE 13170 RIM PR# 221339. 13171 13172 * wtf/Platform.h: 13173 131742012-10-09 Filip Pizlo <fpizlo@apple.com> 13175 13176 JSC should infer when indexed storage is contiguous, and optimize for it 13177 https://bugs.webkit.org/show_bug.cgi?id=97288 13178 13179 Reviewed by Mark Hahnenberg. 13180 13181 Moved out this helpful math utility to MathExtras, since we now use it in 13182 multiple places. 13183 13184 * wtf/MathExtras.h: 13185 (timesThreePlusOneDividedByTwo): 13186 131872012-10-08 Benjamin Poulain <benjamin@webkit.org> 13188 13189 Generalize moving URLComponent's begin position 13190 https://bugs.webkit.org/show_bug.cgi?id=98626 13191 13192 Reviewed by Adam Barth. 13193 13194 The patch r130609 introduced moving URLComponents's position. 13195 It turns out this concept is really useful in the parser so 13196 this patch generalize the idea. 13197 13198 * wtf/url/api/ParsedURL.cpp: 13199 (WTF::ParsedURL::removePort): 13200 * wtf/url/src/URLCanonEtc.cpp: 13201 * wtf/url/src/URLComponent.h: 13202 (WTF::URLComponent::moveBy): 13203 Rename URLComponent::move() to URLComponent::moveBy() for consistency 13204 with some of WebCore types. 13205 13206 * wtf/url/src/URLParse.cpp: 13207 * wtf/url/src/URLParseFile.cpp: 13208 13209 * wtf/url/src/URLSegments.cpp: 13210 (WTF::URLSegments::moveFromComponentBy): 13211 Change the semantic to everything from a certain component. This is 13212 useful to move everything, including the scheme. 13213 13214 * wtf/url/src/URLSegments.h: 13215 (URLSegments): 13216 132172012-10-08 Andreas Kling <kling@webkit.org> 13218 13219 Lower minimum table size of WTF::HashTable to reduce memory usage. 13220 <http://webkit.org/b/98406> 13221 <rdar://problem/12432140> 13222 13223 Reviewed by Anders Carlsson. 13224 13225 Lower the default minimumTableSize for WTF hash tables from 64 to 8 entries. 13226 This reduces WebProcess memory consumption by ~16MB on Membuster3 (a 6% progression!) 13227 13228 No significant movement on PLT or JSC benchmarks on my machine. If there's a perf regression somewhere 13229 from this, we can tweak individual tables to have a larger minimumTableSize. 13230 13231 * wtf/HashTraits.h: 13232 132332012-10-08 Andreas Kling <kling@webkit.org> 13234 13235 Using float/double as WTF hash table key is unreliable. 13236 <http://webkit.org/b/98627> 13237 13238 Reviewed by Geoffrey Garen. 13239 13240 Change FloatHash::equal() to do a bitwise compare instead of a logical compare. 13241 This fixes a problem where the keys with different binary representation but the 13242 same logical value (e.g 0 and -0) could block each other from being found if they 13243 ended up in the same hash bucket. 13244 13245 * wtf/HashFunctions.h: 13246 (FloatHash): 13247 (WTF::FloatHash::hash): 13248 (WTF::FloatHash::equal): 13249 132502012-10-08 Sheriff Bot <webkit.review.bot@gmail.com> 13251 13252 Unreviewed, rolling out r130619. 13253 http://trac.webkit.org/changeset/130619 13254 https://bugs.webkit.org/show_bug.cgi?id=98634 13255 13256 Causes many crashes on the EFL bots. (Requested by rakuco on 13257 #webkit). 13258 13259 * wtf/efl/MainThreadEfl.cpp: 13260 (WTF::pipeObject): 13261 (WTF): 13262 (WTF::monitorDispatchFunctions): 13263 (WTF::initializeMainThreadPlatform): 13264 (WTF::scheduleDispatchFunctionsOnMainThread): 13265 132662012-10-08 Byungwoo Lee <bw80.lee@samsung.com> 13267 13268 [EFL] Use ecore_main_loop_thread_safe_call_async() to wakeup main loop. 13269 https://bugs.webkit.org/show_bug.cgi?id=98505 13270 13271 Reviewed by Kenneth Rohde Christiansen. 13272 13273 Instead of ecore_pipe_write(), 13274 use ecore_main_loop_thread_safe_call_async() to wakeup ecore main loop. 13275 13276 According to the EFL API document, this function is designed to dispatch 13277 a function on ecore main loop by avoiding dead lock or race condition. 13278 With this function, webkit doesn't need to maintain ecore pipe also. 13279 13280 * wtf/efl/MainThreadEfl.cpp: 13281 (WTF::monitorDispatchFunctions): 13282 (WTF::initializeMainThreadPlatform): 13283 (WTF::scheduleDispatchFunctionsOnMainThread): 13284 132852012-10-07 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 13286 13287 Rename first/second to key/value in HashMap iterators 13288 https://bugs.webkit.org/show_bug.cgi?id=82784 13289 13290 Reviewed by Eric Seidel. 13291 13292 Currently HashMap iterators follow the same interface in std::map: given an 13293 iterator it, we use it->first to access the key and it->second to access the 13294 value. This patch changes these accesses to it->key and it->value, improving the 13295 readability at call sites. 13296 13297 One potential downside of this change would be the confusion between std::map and 13298 HashMap interfaces. However, they are already different in other aspects and the 13299 usage of std::map is more an exception than a rule in WebKit code, so we consider 13300 the confusion will be less likely to happen. 13301 13302 * wtf/HashCountedSet.h: 13303 (WTF::::add): 13304 (WTF::::remove): 13305 (WTF::copyToVector): 13306 * wtf/HashIterators.h: 13307 (WTF::HashTableConstKeysIterator::get): 13308 (WTF::HashTableConstValuesIterator::get): 13309 (WTF::HashTableKeysIterator::get): 13310 (WTF::HashTableValuesIterator::get): 13311 * wtf/HashMap.h: 13312 (WTF::KeyValuePairKeyExtractor::extract): 13313 (WTF::HashMapValueTraits::isEmptyValue): 13314 (WTF::HashMapTranslator::translate): 13315 (WTF::HashMapTranslatorAdapter::translate): 13316 (WTF::::set): 13317 (WTF::::get): 13318 (WTF::::take): 13319 (WTF::operator==): 13320 (WTF::deleteAllValues): 13321 (WTF::deleteAllKeys): 13322 Removed deleteAllPairFirsts() and deleteAllPairSeconds() since they are now unused. 13323 13324 * wtf/HashTable.h: 13325 (WTF::hashTableSwap): 13326 (WTF::::checkTableConsistencyExceptSize): 13327 * wtf/HashTraits.h: 13328 (WTF): 13329 (WTF::KeyValuePair::KeyValuePair): 13330 (KeyValuePair): 13331 (WTF::KeyValuePairHashTraits::constructDeletedValue): 13332 (WTF::KeyValuePairHashTraits::isDeletedValue): 13333 * wtf/MetaAllocator.cpp: 13334 (WTF::MetaAllocator::addFreeSpace): 13335 (WTF::MetaAllocator::incrementPageOccupancy): 13336 (WTF::MetaAllocator::decrementPageOccupancy): 13337 * wtf/RefCountedLeakCounter.cpp: 13338 (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): 13339 * wtf/RefPtrHashMap.h: 13340 (WTF::::set): 13341 (WTF::::get): 13342 (WTF::::inlineGet): 13343 (WTF::::take): 13344 * wtf/Spectrum.h: 13345 (WTF::Spectrum::add): 13346 (WTF::Spectrum::get): 13347 (WTF::Spectrum::buildList): 13348 * wtf/ThreadingPthreads.cpp: 13349 (WTF::identifierByPthreadHandle): 13350 133512012-10-07 Benjamin Poulain <benjamin@webkit.org> 13352 13353 WTFURL: implement URL port removal for HTMLAnchorElement 13354 https://bugs.webkit.org/show_bug.cgi?id=98604 13355 13356 Reviewed by Adam Barth. 13357 13358 Add hasStandardScheme() (similar to isStandard from Google URL), 13359 hasPort() and removePort() to implement the port removal of KURL. 13360 13361 * wtf/url/api/ParsedURL.cpp: 13362 (WTF::ParsedURL::hasStandardScheme): 13363 (WTF::ParsedURL::hasPort): 13364 (WTF::ParsedURL::removePort): 13365 * wtf/url/api/ParsedURL.h: 13366 (ParsedURL): 13367 * wtf/url/src/URLComponent.h: 13368 (WTF::URLComponent::move): 13369 * wtf/url/src/URLSegments.cpp: 13370 (WTF::URLSegments::moveComponentsAfter): 13371 * wtf/url/src/URLSegments.h: 13372 (URLSegments): 13373 * wtf/url/src/URLUtil.cpp: 13374 (URLUtilities): 13375 (WTF::URLUtilities::isStandard): 13376 * wtf/url/src/URLUtil.h: 13377 (URLUtilities): 13378 Remove LowerCaseEqualsASCII() from the interface, make it an internal template. 13379 13380 (WTF::URLUtilities::isStandard): 13381 Since in WebKit, LChar is a superset of char, expose LChar and cast char* to LChar*. 13382 133832012-10-06 Ilya Tikhonovsky <loislo@chromium.org> 13384 13385 Web Inspector: NMI fix String instrumentation the way it was discussed in WK97964 13386 https://bugs.webkit.org/show_bug.cgi?id=98500 13387 13388 Reviewed by Benjamin Poulain. 13389 13390 Current instrumentation incorrectly covers the case when StringImpl object has been created via StringImpl::createWithTerminatingNullCharacter(). 13391 Looks like the only way to detect the strings that has been created from literals is to compare the addresses of buffer and stringImpl + 1. 13392 13393 * wtf/MemoryInstrumentationString.h: 13394 (WTF::reportMemoryUsage): 13395 * wtf/text/StringImpl.h: 13396 (WTF::StringImpl::hasInternalBuffer): 13397 133982012-10-06 Benjamin Poulain <benjamin@webkit.org> 13399 13400 Fix build of WTFURL after r130187 13401 https://bugs.webkit.org/show_bug.cgi?id=98588 13402 13403 Reviewed by Kentaro Hara. 13404 13405 * wtf/MemoryInstrumentationParsedURL.h: 13406 (WTF::reportMemoryUsage): 13407 * wtf/url/api/ParsedURL.h: 13408 (WTF::ParsedURL::spec): 13409 134102012-10-05 Simon Pena <spena@igalia.com> 13411 13412 [GTK] Add support for GBytes in GRefPtr 13413 https://bugs.webkit.org/show_bug.cgi?id=98489 13414 13415 Reviewed by Carlos Garcia Campos. 13416 13417 Adding support for GBytes in GRefPtr makes it easier 13418 for them to be used when adding GResources support, 13419 and is more consistent with the rest of the port. 13420 13421 This calls g_bytes_ref and g_bytes_unref in the implementation 13422 of the refPtr and derefPtr template functions, in case the GLib 13423 version is met. Otherwise, it does nothing. 13424 13425 * wtf/gobject/GRefPtr.cpp: Implement templates for ref and deref. 13426 (WTF::refGPtr): 13427 (WTF): 13428 (WTF::derefGPtr): 13429 * wtf/gobject/GRefPtr.h: 13430 (WTF): 13431 * wtf/gobject/GTypedefs.h: Define the GBytes datatype. 13432 134332012-10-05 Sheriff Bot <webkit.review.bot@gmail.com> 13434 13435 Unreviewed, rolling out r130478. 13436 http://trac.webkit.org/changeset/130478 13437 https://bugs.webkit.org/show_bug.cgi?id=98494 13438 13439 It broke the Qt build (Requested by Ossy on #webkit). 13440 13441 * wtf/gobject/GRefPtr.cpp: 13442 * wtf/gobject/GRefPtr.h: 13443 (WTF): 13444 * wtf/gobject/GTypedefs.h: 13445 134462012-10-05 Simon Pena <spena@igalia.com> 13447 13448 [GTK] Add support for GBytes in GRefPtr 13449 https://bugs.webkit.org/show_bug.cgi?id=98489 13450 13451 Reviewed by Carlos Garcia Campos. 13452 13453 Adding support for GBytes in GRefPtr makes it easier 13454 for them to be used when adding GResources support, 13455 and is more consistent with the rest of the port. 13456 13457 This calls g_bytes_ref and g_bytes_unref in the implementation 13458 of the refPtr and derefPtr template functions. 13459 13460 * wtf/gobject/GRefPtr.cpp: Implement templates for ref and deref. 13461 (WTF::refGPtr): 13462 (WTF): 13463 (WTF::derefGPtr): 13464 * wtf/gobject/GRefPtr.h: 13465 (WTF): 13466 * wtf/gobject/GTypedefs.h: Define the GBytes datatype. 13467 134682012-10-04 Dirk Pranke <dpranke@chromium.org> 13469 13470 Unreviewed, rolling out r130419. 13471 http://trac.webkit.org/changeset/130419 13472 https://bugs.webkit.org/show_bug.cgi?id=98406 13473 13474 broke editing/pasteboard/data-transfer-items.html on chromium 13475 13476 * wtf/HashTraits.h: 13477 134782012-10-04 Andreas Kling <kling@webkit.org> 13479 13480 Lower minimum table size of WTF::HashTable to reduce memory usage. 13481 <http://webkit.org/b/98406> 13482 <rdar://problem/12432140> 13483 13484 Reviewed by Anders Carlsson. 13485 13486 Lower the default minimumTableSize for WTF hash tables from 64 to 8 entries. 13487 This reduces WebProcess memory consumption by ~16MB on Membuster3 (a 6% progression!) 13488 13489 No significant movement on PLT or JSC benchmarks on my machine. If there's a perf regression somewhere 13490 from this, we can tweak individual tables to have a larger minimumTableSize. 13491 13492 * wtf/HashTraits.h: 13493 134942012-10-04 Michael Saboff <msaboff@apple.com> 13495 13496 String::remove will convert an 8 bit string to a 16 bit string 13497 https://bugs.webkit.org/show_bug.cgi?id=98299 13498 13499 Reviewed by Benjamin Poulain. 13500 13501 Added an 8 bit path to remove(). Added a private templated helper removeInternal. 13502 13503 * wtf/text/WTFString.cpp: 13504 (WTF::String::removeInternal): 13505 (WTF::String::remove): 13506 * wtf/text/WTFString.h: 13507 (String): 13508 135092012-10-03 Kangil Han <kangil.han@samsung.com> 13510 13511 [Refactoring] Tidy NDEBUG optioning in RefCountedBase. 13512 https://bugs.webkit.org/show_bug.cgi?id=98252 13513 13514 Reviewed by Benjamin Poulain. 13515 13516 Fixed incomplete implementation for NDEBUG option. 13517 Additionally, adopted CHECK_REF_COUNTED_LIFECYCLE definition to suppress abusing NDEBUG option. 13518 13519 * wtf/RefCounted.h: 13520 (WTF): 13521 (WTF::RefCountedBase::ref): 13522 (WTF::RefCountedBase::hasOneRef): 13523 (WTF::RefCountedBase::refCount): 13524 (WTF::RefCountedBase::turnOffVerifier): 13525 (WTF::RefCountedBase::relaxAdoptionRequirement): 13526 (WTF::RefCountedBase::RefCountedBase): 13527 (WTF::RefCountedBase::~RefCountedBase): 13528 (WTF::RefCountedBase::derefBase): 13529 (RefCountedBase): 13530 (WTF::adopted): 13531 (WTF::RefCountedBase::setMutexForVerifier): 13532 (WTF::RefCountedBase::setDispatchQueueForVerifier): 13533 135342012-10-03 Yury Semikhatsky <yurys@chromium.org> 13535 13536 Remove MemoryInstrumentation::addCollectionElements 13537 https://bugs.webkit.org/show_bug.cgi?id=98245 13538 13539 Reviewed by Vsevolod Vlasov. 13540 13541 Removed MemoryInstrumentation::addCollectionElements and switched all call sites 13542 to reportSequenceMemoryUsage. 13543 13544 Drive-by fix: removed some unused methods on MemoryInstrumentation. 13545 13546 * wtf/MemoryInstrumentation.h: 13547 * wtf/MemoryInstrumentationHashSet.h: 13548 (WTF::reportMemoryUsage): 13549 * wtf/MemoryInstrumentationSequence.h: 13550 (WTF::SequenceMemoryInstrumentationTraits::reportMemoryUsage): 13551 * wtf/MemoryInstrumentationVector.h: 13552 (WTF::reportMemoryUsage): 13553 135542012-10-02 Yury Semikhatsky <yurys@chromium.org> 13555 13556 Provide memory instrumentation for HashCountedSet 13557 https://bugs.webkit.org/show_bug.cgi?id=98138 13558 13559 Reviewed by Pavel Feldman. 13560 13561 Added memory instrumentation for HashCountedSet. 13562 13563 Extracted common routines for collecting memory info for an iterable sequence. 13564 13565 * GNUmakefile.list.am: 13566 * WTF.gypi: 13567 * WTF.pro: 13568 * WTF.vcproj/WTF.vcproj: 13569 * WTF.xcodeproj/project.pbxproj: 13570 * wtf/MemoryInstrumentation.h: 13571 (WTF): 13572 * wtf/MemoryInstrumentationHashCountedSet.h: Copied from Source/WTF/wtf/MemoryInstrumentationHashSet.h. 13573 (WTF): 13574 (WTF::reportMemoryUsage): 13575 * wtf/MemoryInstrumentationHashMap.h: 13576 (WTF::reportMemoryUsage): 13577 * wtf/MemoryInstrumentationHashSet.h: 13578 * wtf/MemoryInstrumentationSequence.h: Copied from Source/WTF/wtf/MemoryInstrumentationHashMap.h. 13579 (WTF): 13580 (WTF::SequenceMemoryInstrumentationTraits::reportMemoryUsage): 13581 (WTF::reportSequenceMemoryUsage): 13582 135832012-10-02 Joshua Bell <jsbell@chromium.org> 13584 13585 Add htons/htonl definitions and implementations 13586 https://bugs.webkit.org/show_bug.cgi?id=98054 13587 13588 Reviewed by Darin Adler. 13589 13590 For parsing or serializing binary data, byte order matters. The canonical htons/htonl/ 13591 ntohs/ntohl functions are not present everywhere, so implementations are proliferating in 13592 parsers. Expose a new WTF header (wtf/ByteOrder.h) that includes the standard 13593 implementations on UNIX-like OSs and provides basic inlined implementations on Windows. 13594 13595 * GNUmakefile.list.am: 13596 * WTF.gypi: 13597 * WTF.pro: 13598 * WTF.vcproj/WTF.vcproj: 13599 * WTF.xcodeproj/project.pbxproj: 13600 * wtf/ByteOrder.h: Added. 13601 (WTF::wswap32): Inline functions so arguments are only evaluated once. 13602 (WTF::bswap32): 13603 (WTF::bswap16): 13604 (ntohs): Inline functions on OS(WINDOWS) to match macros on OS(UNIX) 13605 (htons): 13606 (ntohl): 13607 (htonl): 13608 * wtf/CMakeLists.txt: 13609 136102012-10-02 Michael Saboff <msaboff@apple.com> 13611 13612 HTMLConstructionSite::insertTextNode isn't optimized for 8 bit strings 13613 https://bugs.webkit.org/show_bug.cgi?id=97740 13614 13615 Reviewed by Darin Adler. 13616 13617 Added an append method that takes an LChar source. Made both the UChar and LChar versions optimally handle 13618 the appendee and appendend string bitness. 13619 13620 * wtf/text/WTFString.cpp: 13621 (WTF::String::append): 13622 * wtf/text/WTFString.h: 13623 (String): 13624 136252012-10-02 Ilya Tikhonovsky <loislo@chromium.org> 13626 13627 Web Inspector: NMI: switch to non intrusive instrumentation of ParsedURL. 13628 https://bugs.webkit.org/show_bug.cgi?id=98150 13629 13630 Reviewed by Yury Semikhatsky. 13631 13632 Memory instrumentation for ParsedURL was extracted into separate header MemoryInstrumentationParsedURL.h 13633 13634 Drive by fix: unnecessary include was removed from String*.cpp files. 13635 13636 * GNUmakefile.list.am: 13637 * WTF.gypi: 13638 * WTF.pro: 13639 * WTF.xcodeproj/project.pbxproj: 13640 * wtf/MemoryInstrumentation.h: 13641 (WTF): 13642 * wtf/MemoryInstrumentationParsedURL.h: Added. 13643 (WTF): 13644 (WTF::reportMemoryUsage): 13645 * wtf/text/AtomicString.cpp: 13646 * wtf/text/StringImpl.cpp: 13647 * wtf/text/WTFString.cpp: 13648 * wtf/url/api/ParsedURL.cpp: 13649 * wtf/url/api/ParsedURL.h: 13650 * wtf/url/api/URLString.cpp: 13651 * wtf/url/api/URLString.h: 13652 136532012-09-29 Ilya Tikhonovsky <loislo@chromium.org> 13654 13655 Web Inspector: NMI make String* instrumentation non intrusive 13656 https://bugs.webkit.org/show_bug.cgi?id=97964 13657 13658 Reviewed by Yury Semikhatsky. 13659 13660 MemoryInstrumentationString.h was added. 13661 Intrusive instrumentation was removed. 13662 13663 * GNUmakefile.list.am: 13664 * WTF.gypi: 13665 * WTF.pro: 13666 * WTF.vcproj/WTF.vcproj: 13667 * WTF.xcodeproj/project.pbxproj: 13668 * wtf/MemoryInstrumentation.h: 13669 (WTF): 13670 * wtf/MemoryInstrumentationString.h: Added. 13671 (WTF): 13672 (WTF::reportMemoryUsage): 13673 * wtf/text/AtomicString.cpp: 13674 (WTF): 13675 * wtf/text/AtomicString.h: 13676 (AtomicString): 13677 * wtf/text/CString.h: 13678 (WTF::CStringBuffer::length): 13679 * wtf/text/StringImpl.cpp: 13680 * wtf/text/StringImpl.h: 13681 (WTF::StringImpl::usesInternalBuffer): 13682 (WTF::StringImpl::baseString): 13683 (StringImpl): 13684 136852012-10-02 Sheriff Bot <webkit.review.bot@gmail.com> 13686 13687 Unreviewed, rolling out r130129. 13688 http://trac.webkit.org/changeset/130129 13689 https://bugs.webkit.org/show_bug.cgi?id=98125 13690 13691 broke 4 webkit_unit_tests 13692 (MemoryInstrumentationTest.hashMapWith*) (Requested by caseq 13693 on #webkit). 13694 13695 * GNUmakefile.list.am: 13696 * WTF.gypi: 13697 * WTF.pro: 13698 * WTF.vcproj/WTF.vcproj: 13699 * WTF.xcodeproj/project.pbxproj: 13700 * wtf/MemoryInstrumentation.h: 13701 (WTF): 13702 * wtf/MemoryInstrumentationString.h: Removed. 13703 * wtf/text/AtomicString.cpp: 13704 (WTF::AtomicString::reportMemoryUsage): 13705 (WTF): 13706 * wtf/text/AtomicString.h: 13707 (AtomicString): 13708 * wtf/text/CString.h: 13709 (WTF::CStringBuffer::length): 13710 (CStringBuffer): 13711 (WTF::CStringBuffer::reportMemoryUsage): 13712 (CString): 13713 (WTF::CString::reportMemoryUsage): 13714 * wtf/text/StringImpl.cpp: 13715 (WTF::StringImpl::reportMemoryUsage): 13716 (WTF): 13717 * wtf/text/StringImpl.h: 13718 (StringImpl): 13719 * wtf/text/WTFString.cpp: 13720 (WTF::String::reportMemoryUsage): 13721 (WTF): 13722 * wtf/text/WTFString.h: 13723 (String): 13724 137252012-09-29 Ilya Tikhonovsky <loislo@chromium.org> 13726 13727 Web Inspector: NMI make String* instrumentation non intrusive 13728 https://bugs.webkit.org/show_bug.cgi?id=97964 13729 13730 Reviewed by Yury Semikhatsky. 13731 13732 MemoryInstrumentationString.h was added. 13733 Intrusive instrumentation was removed. 13734 13735 * GNUmakefile.list.am: 13736 * WTF.gypi: 13737 * WTF.pro: 13738 * WTF.vcproj/WTF.vcproj: 13739 * WTF.xcodeproj/project.pbxproj: 13740 * wtf/MemoryInstrumentation.h: 13741 (WTF): 13742 * wtf/MemoryInstrumentationString.h: Added. 13743 (WTF): 13744 (WTF::reportMemoryUsage): 13745 * wtf/text/AtomicString.cpp: 13746 (WTF): 13747 * wtf/text/AtomicString.h: 13748 (AtomicString): 13749 * wtf/text/CString.h: 13750 (WTF::CStringBuffer::length): 13751 * wtf/text/StringImpl.cpp: 13752 * wtf/text/StringImpl.h: 13753 (WTF::StringImpl::usesInternalBuffer): 13754 (WTF::StringImpl::baseString): 13755 (StringImpl): 13756 137572012-10-01 Daniel Drake <dsd@laptop.org> 13758 13759 Another SIGILL in JavaScriptCore on a Geode processor 13760 https://bugs.webkit.org/show_bug.cgi?id=96286 13761 13762 Reviewed by Filip Pizlo. 13763 13764 Disable LLint for the GTK build where the build target does not 13765 support SSE2 instructions. Restores support for non-SSE2 processors 13766 such as the AMD Geode. 13767 13768 * wtf/Platform.h: 13769 137702012-10-01 Yury Semikhatsky <yurys@chromium.org> 13771 13772 Web Inspector: provide memory instrumentation for HashMap 13773 https://bugs.webkit.org/show_bug.cgi?id=98005 13774 13775 Reviewed by Pavel Feldman. 13776 13777 Extracted HashMap memory instrumentation into its own file. The map's content 13778 elements will be automatically traversed if their types are supported 13779 by the memory instrumentation. No need to call special method for hash map 13780 fields any more. 13781 13782 * GNUmakefile.list.am: 13783 * WTF.gypi: 13784 * WTF.pro: 13785 * WTF.vcproj/WTF.vcproj: 13786 * wtf/MemoryInstrumentation.h: 13787 (MemoryInstrumentation): 13788 (WTF): 13789 * wtf/MemoryInstrumentationHashMap.h: Added. 13790 (WTF): 13791 (WTF::SequenceMemoryInstrumentationTraits::reportMemoryUsage): 13792 (WTF::reportMemoryUsage): 13793 137942012-10-01 Alberto Garcia <agarcia@igalia.com> 13795 13796 Check that __cplusplus is defined before comparing its value 13797 https://bugs.webkit.org/show_bug.cgi?id=98015 13798 13799 Reviewed by Xan Lopez. 13800 13801 If __cplusplus is not defined is interpreted as having the value 13802 0, but it produces a compilation warning with -Wundef. 13803 13804 This is the case with some API tests that are written in C 13805 (JSNode.c, JSNodeList.c, minidom.c). 13806 13807 * wtf/Compiler.h: 13808 138092012-10-01 Carlos Garcia Campos <cgarcia@igalia.com> 13810 13811 Unreviewed. Fix make distcheck. 13812 13813 * GNUmakefile.list.am: Add missing header files to compilation. 13814 138152012-09-30 Mark Hahnenberg <mhahnenberg@apple.com> 13816 13817 Clean up HasTrivialConstructor/Destructor 13818 https://bugs.webkit.org/show_bug.cgi?id=97754 13819 13820 Reviewed by Sam Weinig. 13821 13822 Mixed up the HasTrivialDestructor/Constructor case for VS2010 and later in the previous patch. 13823 13824 * wtf/TypeTraits.h: 13825 138262012-09-29 Sheriff Bot <webkit.review.bot@gmail.com> 13827 13828 Unreviewed, rolling out r129982. 13829 http://trac.webkit.org/changeset/129982 13830 https://bugs.webkit.org/show_bug.cgi?id=97971 13831 13832 hit assert in fast/overflow/overflow-height-float-not-removed- 13833 crash3.html (Requested by eae on #webkit). 13834 13835 * wtf/Platform.h: 13836 138372012-09-29 Emil A Eklund <eae@chromium.org> 13838 13839 Enable SATURATED_LAYOUT_ARITHMETIC for chromium 13840 https://bugs.webkit.org/show_bug.cgi?id=95053 13841 13842 Reviewed by Abhishek Arya. 13843 13844 Enable the SATURATED_LAYOUT_ARITHMETIC flag for the chromium port. 13845 This changes the behavior of FractionalLayoutUnit to clamp to the 13846 max or min value instead of overflowing. 13847 13848 This may very well impact performance so the current plan is to enable 13849 it for a couple of hours to a day to collect performance data and then 13850 disable it again until we've had a chance to review the perf data. 13851 13852 * wtf/Platform.h: 13853 138542012-09-28 Anders Carlsson <andersca@apple.com> 13855 13856 Remove Java bridge 13857 https://bugs.webkit.org/show_bug.cgi?id=97954 13858 13859 Reviewed by Sam Weinig. 13860 13861 The Java bridge is not used by any port; Mac now has a NPAPI Java plug-in. 13862 13863 * wtf/Platform.h: 13864 138652012-09-28 Kai Koehne <kai.koehne@digia.com> 13866 13867 Disable YARR_JIT for Windows 64 bit 13868 https://bugs.webkit.org/show_bug.cgi?id=97772 13869 13870 Reviewed by Simon Hausmann. 13871 13872 Using YARR_JIT requires ASSEMBLER, which in turn enables the 13873 executable fixed allocator, which is mmap based (not available on 13874 Windows). 13875 13876 * wtf/Platform.h: 13877 138782012-09-28 Yury Semikhatsky <yurys@chromium.org> 13879 13880 Web Inspector: make HashSet memory instrumentation non-intrusive 13881 https://bugs.webkit.org/show_bug.cgi?id=97879 13882 13883 Reviewed by Vsevolod Vlasov. 13884 13885 Removed reportMemoryUsage declarations as a friend of HashSet and HashTable. Also 13886 removed MemoryInstrumentationHashTable which is not needed if we don't have 13887 access to HashSet's guts. 13888 13889 * GNUmakefile.list.am: 13890 * WTF.gypi: 13891 * WTF.pro: 13892 * WTF.vcproj/WTF.vcproj: 13893 * WTF.xcodeproj/project.pbxproj: 13894 * wtf/HashSet.h: 13895 (WTF): 13896 (HashSet): 13897 * wtf/HashTable.h: 13898 (HashTable): 13899 * wtf/MemoryInstrumentation.h: 13900 (WTF::MemoryClassInfo::addPrivateBuffer): 13901 * wtf/MemoryInstrumentationHashSet.h: 13902 (WTF::reportMemoryUsage): 13903 * wtf/MemoryInstrumentationHashTable.h: Removed. 13904 139052012-09-27 Anders Carlsson <andersca@apple.com> 13906 13907 Remove the clang pragmas to disable warnings in Noncopyable.h 13908 https://bugs.webkit.org/show_bug.cgi?id=97826 13909 13910 Reviewed by Beth Dakin. 13911 13912 Warnings about C++11 extensions are already disabled project-wide now so there's no need 13913 to keep these pragmas. 13914 13915 * wtf/Noncopyable.h: 13916 139172012-09-26 Mark Hahnenberg <mhahnenberg@apple.com> 13918 13919 Clean up HasTrivialConstructor/Destructor 13920 https://bugs.webkit.org/show_bug.cgi?id=97754 13921 13922 Reviewed by Darin Adler. 13923 13924 Cleaned up HasTrivialConstructor and HasTrivialDestructor by defining them in terms of 13925 other type traits we have. Also moved some ifdefs and comments to make things more clear. 13926 13927 * wtf/TypeTraits.h: 13928 139292012-09-27 Ilya Tikhonovsky <loislo@chromium.org> 13930 13931 Web Inspector: NMI: move visited and countObjectSize methods implementation into separate class. 13932 https://bugs.webkit.org/show_bug.cgi?id=97461 13933 13934 Reviewed by Yury Semikhatsky. 13935 13936 These methods and the data collected by them need to be used in the instrumentation code for other components. 13937 As example when we are visiting bitmaps we need to visit platform specific objects. 13938 These objects will be instrumented with help of component's own instrumentation code 13939 but we have to keep the single set of visited objects and the map of counters. 13940 13941 * wtf/MemoryInstrumentation.h: 13942 (MemoryInstrumentationClient): 13943 (WTF::MemoryInstrumentationClient::~MemoryInstrumentationClient): 13944 (WTF): 13945 (WTF::MemoryInstrumentation::MemoryInstrumentation): 13946 (MemoryInstrumentation): 13947 (WTF::MemoryInstrumentation::countObjectSize): 13948 (WTF::MemoryInstrumentation::visited): 13949 139502012-09-27 Csaba Osztrogonác <ossy@webkit.org>, Tor Arne Vestbø <vestbo@webkit.org> 13951 13952 [Qt] Enable the LLInt on Linux 13953 https://bugs.webkit.org/show_bug.cgi?id=95749 13954 13955 Reviewed by Simon Hausmann. 13956 13957 * wtf/Platform.h: 13958 139592012-09-26 Cosmin Truta <ctruta@rim.com> 13960 13961 [BlackBerry] Allow denormal floats in ARM VFP 13962 https://bugs.webkit.org/show_bug.cgi?id=97008 13963 13964 Reviewed by Filip Pizlo. 13965 Reviewed internally by Yong Li. 13966 13967 Cleared the Flush-to-Zero flag in the ARM FPSCR register on QNX. 13968 13969 * wtf/ThreadingPthreads.cpp: 13970 (WTF::enableIEEE754Denormal): Added. 13971 (WTF::initializeThreading): 13972 (WTF::initializeCurrentThreadInternal): 13973 139742012-09-26 Michael Saboff <msaboff@apple.com> 13975 13976 Update ComplexTextController for 8 bit TextRun changes 13977 https://bugs.webkit.org/show_bug.cgi?id=97378 13978 13979 Reviewed by Geoffrey Garen. 13980 13981 Add a new create method to make a 16 bit string from 8 bit source data. This is used in 13982 ComplexTextController when we have LChar* + length text data, but we really want 16 bit 13983 data for the complex text rendering code. 13984 13985 * wtf/text/WTFString.cpp: 13986 (WTF::String::make16BitFrom8BitSource): 13987 (WTF): 13988 * wtf/text/WTFString.h: 13989 (String): 13990 139912012-09-26 Ilya Tikhonovsky <loislo@chromium.org> 13992 13993 Web Inspector: NMI: replace manual JS external resources counting with MemoryInstrumentation 13994 https://bugs.webkit.org/show_bug.cgi?id=97662 13995 13996 Reviewed by Yury Semikhatsky. 13997 13998 Old schema uses sizeInBytes method on StringImpl. This method works incorrect for substrings. 13999 Also we'd like to know exact pointers to strings and buffers for verification purposes. 14000 14001 * GNUmakefile.list.am: 14002 * WTF.gypi: 14003 * WTF.pro: 14004 * WTF.vcproj/WTF.vcproj: 14005 * WTF.xcodeproj/project.pbxproj: 14006 * wtf/MemoryInstrumentationArrayBufferView.h: 14007 (WTF): 14008 (WTF::reportMemoryUsage): 14009 140102012-09-25 Ilya Tikhonovsky <loislo@chromium.org> 14011 14012 Web Inspector: extract HashSet instrumentation from core NMI code and put it into MemoryInstrumentationHashSet.h 14013 https://bugs.webkit.org/show_bug.cgi?id=97198 14014 14015 Reviewed by Yury Semikhatsky. 14016 14017 Current implementation has overloads for HashSet. 14018 This prevents us from instrumenting complex cases like Vector<HashSet<...> >. 14019 14020 * GNUmakefile.list.am: 14021 * WTF.gypi: 14022 * WTF.pro: 14023 * WTF.vcproj/WTF.vcproj: 14024 * WTF.xcodeproj/project.pbxproj: 14025 * wtf/HashSet.h: 14026 (WTF): 14027 (HashSet): 14028 * wtf/HashTable.h: 14029 (WTF): 14030 (HashTable): 14031 * wtf/MemoryInstrumentation.h: 14032 (WTF::MemoryClassInfo::addCollectionElements): 14033 (WTF::MemoryClassInfo::addHashCountedSet): 14034 * wtf/MemoryInstrumentationHashSet.h: Added. 14035 (WTF): 14036 (WTF::reportMemoryUsage): 14037 * wtf/MemoryInstrumentationHashTable.h: Added. 14038 (WTF): 14039 (WTF::reportMemoryUsage): 14040 140412012-09-26 Yury Semikhatsky <yurys@chromium.org> 14042 14043 Web Inspector: compare objects counted by the memory instrumentation with those allocated in the heap 14044 https://bugs.webkit.org/show_bug.cgi?id=97641 14045 14046 Reviewed by Pavel Feldman. 14047 14048 Added a method for checking if reported object was actually allocated in the heap. 14049 14050 * wtf/MemoryInstrumentation.h: 14051 (MemoryInstrumentation): 14052 (WTF::MemoryInstrumentation::addObjectImpl): 14053 140542012-09-26 Gavin Barraclough <barraclough@apple.com> 14055 14056 String.localeCompare should normalize input 14057 https://bugs.webkit.org/show_bug.cgi?id=97639 14058 14059 Reviewed by Filip Pizlo. 14060 14061 From the spec: "It is strongly recommended that this function treat Strings that are 14062 canonically equivalent according to the Unicode standard as identical (in other words, 14063 compare the Strings as if they had both been converted to Normalised Form C or D first). 14064 It is also recommended that this function not honour Unicode compatibility equivalences 14065 or decompositions." 14066 14067 * wtf/unicode/icu/CollatorICU.cpp: 14068 (WTF::Collator::createCollator): 14069 - Enable normalization. 14070 140712012-09-25 Cosmin Truta <ctruta@rim.com> 14072 14073 [BlackBerry] Enable LLInt 14074 https://bugs.webkit.org/show_bug.cgi?id=97604 14075 14076 Reviewed by Yong Li. 14077 14078 Set the prefix of LOCAL_LABEL_STRING to ".L" on QNX. 14079 14080 * wtf/InlineASM.h: 14081 140822012-09-25 Patrick Gansterer <paroga@webkit.org> 14083 14084 Do not enable DFG JIT for COMPILER(MSVC). 14085 14086 The current code does not support MSVC inline assembler, so disable it for now. 14087 14088 * wtf/Platform.h: 14089 140902012-09-25 Pratik Solanki <psolanki@apple.com> 14091 14092 Remove HAVE_SBRK since we never set use_sbrk to true 14093 https://bugs.webkit.org/show_bug.cgi?id=97525 14094 <rdar://problem/12363601> 14095 14096 Reviewed by Geoffrey Garen. 14097 14098 The code under HAVE(SBRK) has not been used since 2005. We use mmap not sbrk for FastMalloc 14099 not sbrk. We can just remove the define and move all of this code inside #ifndef 14100 WTF_CHANGES. 14101 14102 * wtf/Platform.h: 14103 * wtf/TCSystemAlloc.cpp: 14104 (TCMalloc_SystemAlloc): 14105 141062012-09-25 Mark Lam <mark.lam@apple.com> 14107 14108 #undef some symbols before redefining them. 14109 https://bugs.webkit.org/show_bug.cgi?id=97568. 14110 14111 Reviewed by Michael Saboff. 14112 14113 * wtf/Platform.h: 14114 141152012-09-21 Ilya Tikhonovsky <loislo@chromium.org> 14116 14117 Web Inspector: extract Vector instrumentation from core NMI code into MemoryInstrumentationVector.h header. 14118 https://bugs.webkit.org/show_bug.cgi?id=96650 14119 14120 Reviewed by Vsevolod Vlasov. 14121 14122 Added reportMemoryUsage free template function with default body to core NMI code 14123 and add custom version of reportMemoryUsage function for Vectors. 14124 14125 * GNUmakefile.list.am: 14126 * WTF.gypi: 14127 * WTF.pro: 14128 * WTF.vcproj/WTF.vcproj: 14129 * WTF.xcodeproj/project.pbxproj: 14130 * wtf/MemoryInstrumentation.h: 14131 (WTF): 14132 (MemoryInstrumentation): 14133 (WTF::MemoryInstrumentation::addObjectImpl): 14134 * wtf/MemoryInstrumentationVector.h: Added. 14135 (WTF): 14136 (WTF::instrumentVectorValues): 14137 (WTF::reportMemoryUsage): 14138 141392012-09-24 Mark Lam <mark.lam@apple.com> 14140 14141 Deleting the classic interpreter and cleaning up some build options. 14142 https://bugs.webkit.org/show_bug.cgi?id=96969. 14143 14144 Reviewed by Geoffrey Garen. 14145 14146 * wtf/OSAllocatorPosix.cpp: 14147 (WTF::OSAllocator::reserveAndCommit): 14148 * wtf/Platform.h: 14149 141502012-09-24 Patrick Gansterer <paroga@webkit.org> 14151 14152 Remove String::operator+=() 14153 https://bugs.webkit.org/show_bug.cgi?id=96172 14154 14155 Reviewed by Benjamin Poulain. 14156 14157 * wtf/Platform.h: 14158 * wtf/text/WTFString.h: 14159 141602012-09-24 Benjamin Poulain <benjamin@webkit.org> 14161 14162 Add support for query encoding to WTFURL 14163 https://bugs.webkit.org/show_bug.cgi?id=97422 14164 14165 Reviewed by Adam Barth. 14166 14167 Expose character conversion through the new abstract class URLQueryCharsetConverter. 14168 URLQueryCharsetConverter is implemented by WebCore to expose the TextEncoding classes. 14169 14170 Unfortunatelly that forces us to bring over URLBuffer in the public API. We may be able 14171 to mitigate that later when moving WTFURL to more templates. 14172 14173 The change fixes 2 of the URL layout tests. 14174 14175 * WTF.xcodeproj/project.pbxproj: 14176 * wtf/url/api/ParsedURL.cpp: 14177 (WTF::ParsedURL::ParsedURL): 14178 * wtf/url/api/ParsedURL.h: 14179 (ParsedURL): 14180 ParsedURL was using the same constructor for ParsedURLString, and URL without a base. 14181 That was a mistake on my part, I did not intend that, fixed it now :) 14182 14183 * wtf/url/api/URLBuffer.h: Renamed from Source/WTF/wtf/url/src/URLBuffer.h. 14184 (URLBuffer): 14185 (WTF::URLBuffer::URLBuffer): 14186 (WTF::URLBuffer::~URLBuffer): 14187 (WTF::URLBuffer::at): 14188 (WTF::URLBuffer::set): 14189 (WTF::URLBuffer::capacity): 14190 (WTF::URLBuffer::length): 14191 (WTF::URLBuffer::data): 14192 (WTF::URLBuffer::setLength): 14193 (WTF::URLBuffer::append): 14194 (WTF::URLBuffer::grow): 14195 * wtf/url/api/URLQueryCharsetConverter.h: Added. 14196 (URLQueryCharsetConverter): 14197 (WTF::URLQueryCharsetConverter::URLQueryCharsetConverter): 14198 (WTF::URLQueryCharsetConverter::~URLQueryCharsetConverter): 14199 * wtf/url/src/URLCanon.h: 14200 (URLCanonicalizer): 14201 * wtf/url/src/URLCanonFilesystemurl.cpp: 14202 (WTF::URLCanonicalizer::canonicalizeFileSystemURL): 14203 (WTF::URLCanonicalizer::ReplaceFileSystemURL): 14204 * wtf/url/src/URLCanonFileurl.cpp: 14205 (WTF::URLCanonicalizer::CanonicalizeFileURL): 14206 (WTF::URLCanonicalizer::ReplaceFileURL): 14207 * wtf/url/src/URLCanonInternal.h: 14208 (URLCanonicalizer): 14209 * wtf/url/src/URLCanonQuery.cpp: 14210 (WTF::URLCanonicalizer::CanonicalizeQuery): 14211 (WTF::URLCanonicalizer::ConvertUTF16ToQueryEncoding): 14212 * wtf/url/src/URLCanonRelative.cpp: 14213 (WTF::URLCanonicalizer::resolveRelativeURL): 14214 * wtf/url/src/URLCanonStdURL.cpp: 14215 (WTF::URLCanonicalizer::CanonicalizeStandardURL): 14216 (WTF::URLCanonicalizer::ReplaceStandardURL): 14217 * wtf/url/src/URLUtil.cpp: 14218 (URLUtilities): 14219 (WTF::URLUtilities::canonicalize): 14220 (WTF::URLUtilities::resolveRelative): 14221 (WTF::URLUtilities::ReplaceComponents): 14222 * wtf/url/src/URLUtil.h: 14223 (URLUtilities): 14224 142252012-09-24 Benjamin Poulain <benjamin@webkit.org> 14226 14227 Integrate most of GoogleURL in WTFURL 14228 https://bugs.webkit.org/show_bug.cgi?id=97405 14229 14230 Reviewed by Adam Barth. 14231 14232 This patch brings almost all of the implementatation of Google-URL in WTFURL 14233 with only minor changes. 14234 14235 The changes from the original code are mostly: 14236 -Code cleaning. 14237 -Replace url_parse::Parsed by URLSegments. 14238 -Replace url_parse::Component by URLComponent 14239 -More code cleaning. 14240 -Adopt URLBuffer and RawURLBuffer instead of the CanonOutputT and RawCanonOutputT. 14241 -Use URLCharacterTypes instead of the litany of characters functions. 14242 -Some more code cleaning. 14243 -Fix the style to match WebKit as much as possible. 14244 -Rename the files to match WebKit style. 14245 14246 * WTF.xcodeproj/project.pbxproj: 14247 * wtf/url/api/ParsedURL.cpp: 14248 (WTF::ParsedURL::ParsedURL): 14249 (WTF::ParsedURL::segment): 14250 * wtf/url/api/ParsedURL.h: 14251 (WTF::ParsedURL::isValid): 14252 * wtf/url/src/RawURLBuffer.h: 14253 * wtf/url/src/URLCanon.h: Added. 14254 (URLCanonicalizer): 14255 (CharsetConverter): 14256 (WTF::URLCanonicalizer::CharsetConverter::CharsetConverter): 14257 (WTF::URLCanonicalizer::CharsetConverter::~CharsetConverter): 14258 (CanonHostInfo): 14259 (WTF::URLCanonicalizer::CanonHostInfo::CanonHostInfo): 14260 (WTF::URLCanonicalizer::CanonHostInfo::IsIPAddress): 14261 (WTF::URLCanonicalizer::CanonHostInfo::AddressLength): 14262 (URLComponentSource): 14263 (WTF::URLCanonicalizer::URLComponentSource::URLComponentSource): 14264 (Replacements): 14265 (WTF::URLCanonicalizer::Replacements::Replacements): 14266 (WTF::URLCanonicalizer::Replacements::SetScheme): 14267 (WTF::URLCanonicalizer::Replacements::IsSchemeOverridden): 14268 (WTF::URLCanonicalizer::Replacements::SetUsername): 14269 (WTF::URLCanonicalizer::Replacements::ClearUsername): 14270 (WTF::URLCanonicalizer::Replacements::IsUsernameOverridden): 14271 (WTF::URLCanonicalizer::Replacements::SetPassword): 14272 (WTF::URLCanonicalizer::Replacements::ClearPassword): 14273 (WTF::URLCanonicalizer::Replacements::IsPasswordOverridden): 14274 (WTF::URLCanonicalizer::Replacements::SetHost): 14275 (WTF::URLCanonicalizer::Replacements::ClearHost): 14276 (WTF::URLCanonicalizer::Replacements::IsHostOverridden): 14277 (WTF::URLCanonicalizer::Replacements::SetPort): 14278 (WTF::URLCanonicalizer::Replacements::ClearPort): 14279 (WTF::URLCanonicalizer::Replacements::IsPortOverridden): 14280 (WTF::URLCanonicalizer::Replacements::SetPath): 14281 (WTF::URLCanonicalizer::Replacements::ClearPath): 14282 (WTF::URLCanonicalizer::Replacements::IsPathOverridden): 14283 (WTF::URLCanonicalizer::Replacements::SetQuery): 14284 (WTF::URLCanonicalizer::Replacements::ClearQuery): 14285 (WTF::URLCanonicalizer::Replacements::IsQueryOverridden): 14286 (WTF::URLCanonicalizer::Replacements::SetRef): 14287 (WTF::URLCanonicalizer::Replacements::ClearRef): 14288 (WTF::URLCanonicalizer::Replacements::IsRefOverridden): 14289 (WTF::URLCanonicalizer::Replacements::sources): 14290 (WTF::URLCanonicalizer::Replacements::components): 14291 (WTF::URLCanonicalizer::Replacements::Placeholder): 14292 * wtf/url/src/URLCanonEtc.cpp: Added. 14293 (WTF::URLCanonicalizer::removeURLWhitespace): 14294 (URLCanonicalizer): 14295 (WTF::URLCanonicalizer::canonicalSchemeChar): 14296 (WTF::URLCanonicalizer::CanonicalizeScheme): 14297 (WTF::URLCanonicalizer::CanonicalizeUserInfo): 14298 (WTF::URLCanonicalizer::CanonicalizePort): 14299 (WTF::URLCanonicalizer::CanonicalizeRef): 14300 * wtf/url/src/URLCanonFilesystemurl.cpp: Added. 14301 (WTF::URLCanonicalizer::CanonicalizeFileSystemURL): 14302 (URLCanonicalizer): 14303 (WTF::URLCanonicalizer::ReplaceFileSystemURL): 14304 * wtf/url/src/URLCanonFileurl.cpp: Added. 14305 (WTF::URLCanonicalizer::CanonicalizeFileURL): 14306 (URLCanonicalizer): 14307 (WTF::URLCanonicalizer::FileCanonicalizePath): 14308 (WTF::URLCanonicalizer::ReplaceFileURL): 14309 * wtf/url/src/URLCanonHost.cpp: Added. 14310 (WTF::URLCanonicalizer::CanonicalizeHost): 14311 (URLCanonicalizer): 14312 (WTF::URLCanonicalizer::CanonicalizeHostVerbose): 14313 * wtf/url/src/URLCanonICU.cpp: Added. 14314 (WTF::URLCanonicalizer::IDNToASCII): 14315 (URLCanonicalizer): 14316 (WTF::URLCanonicalizer::readUTFChar): 14317 * wtf/url/src/URLCanonIP.cpp: Added. 14318 (WTF::URLCanonicalizer::CanonicalizeIPAddress): 14319 (URLCanonicalizer): 14320 * wtf/url/src/URLCanonInternal.cpp: Added. 14321 (URLCanonicalizer): 14322 (WTF::URLCanonicalizer::AppendInvalidNarrowString): 14323 (WTF::URLCanonicalizer::ConvertUTF16ToUTF8): 14324 (WTF::URLCanonicalizer::ConvertUTF8ToUTF16): 14325 (WTF::URLCanonicalizer::SetupOverrideComponents): 14326 (WTF::URLCanonicalizer::SetupUTF16OverrideComponents): 14327 (WTF::URLCanonicalizer::_itoa_s): 14328 (WTF::URLCanonicalizer::_itow_s): 14329 * wtf/url/src/URLCanonInternal.h: Added. 14330 (URLCanonicalizer): 14331 (WTF::URLCanonicalizer::hexCharToValue): 14332 (WTF::URLCanonicalizer::isDot): 14333 (WTF::URLCanonicalizer::appendURLEscapedCharacter): 14334 (WTF::URLCanonicalizer::doAppendUTF8): 14335 (WTF::URLCanonicalizer::AppendCharToOutput): 14336 (WTF::URLCanonicalizer::AppendUTF8Value): 14337 (WTF::URLCanonicalizer::AppendUTF8EscapedValue): 14338 (WTF::URLCanonicalizer::AppendUTF16Value): 14339 (WTF::URLCanonicalizer::AppendUTF8EscapedChar): 14340 (WTF::URLCanonicalizer::Is8BitChar): 14341 (WTF::URLCanonicalizer::DecodeEscaped): 14342 (WTF::URLCanonicalizer::_itoa_s): 14343 (WTF::URLCanonicalizer::_itow_s): 14344 (WTF::URLCanonicalizer::_strtoui64): 14345 * wtf/url/src/URLCanonMailto.cpp: Added. 14346 (WTF::URLCanonicalizer::CanonicalizeMailtoURL): 14347 (URLCanonicalizer): 14348 (WTF::URLCanonicalizer::ReplaceMailtoURL): 14349 * wtf/url/src/URLCanonPath.cpp: Added. 14350 (WTF::URLCanonicalizer::CanonicalizePath): 14351 (URLCanonicalizer): 14352 (WTF::URLCanonicalizer::CanonicalizePartialPath): 14353 * wtf/url/src/URLCanonPathurl.cpp: Added. 14354 (WTF::URLCanonicalizer::canonicalizePathURL): 14355 (URLCanonicalizer): 14356 (WTF::URLCanonicalizer::ReplacePathURL): 14357 * wtf/url/src/URLCanonQuery.cpp: Added. 14358 (WTF::URLCanonicalizer::CanonicalizeQuery): 14359 (URLCanonicalizer): 14360 (WTF::URLCanonicalizer::ConvertUTF16ToQueryEncoding): 14361 * wtf/url/src/URLCanonRelative.cpp: Added. 14362 (WTF::URLCanonicalizer::isRelativeURL): 14363 (URLCanonicalizer): 14364 (WTF::URLCanonicalizer::resolveRelativeURL): 14365 * wtf/url/src/URLCanonStdURL.cpp: Added. 14366 (WTF::URLCanonicalizer::DefaultPortForScheme): 14367 (URLCanonicalizer): 14368 (WTF::URLCanonicalizer::CanonicalizeStandardURL): 14369 (WTF::URLCanonicalizer::ReplaceStandardURL): 14370 * wtf/url/src/URLCharacterTypes.cpp: 14371 * wtf/url/src/URLCharacterTypes.h: 14372 (WTF::URLCharacterTypes::isComponentChar): 14373 (WTF::URLCharacterTypes::isHexChar): 14374 (WTF::URLCharacterTypes::isIPv4Char): 14375 (WTF::URLCharacterTypes::isQueryChar): 14376 (WTF::URLCharacterTypes::isCharacterOfType): 14377 (URLCharacterTypes): 14378 * wtf/url/src/URLEscape.cpp: Removed. 14379 * wtf/url/src/URLFile.h: Added. 14380 (URLParser): 14381 (WTF::URLParser::isWindowsDriveSeparator): 14382 (WTF::URLParser::isWindowsDriveLetter): 14383 (WTF::URLParser::findNextSlash): 14384 (WTF::URLParser::doesBeginWindowsDriveSpec): 14385 (WTF::URLParser::doesBeginUNCPath): 14386 * wtf/url/src/URLParse.cpp: Added. 14387 (WTF::URLParser::ExtractScheme): 14388 (URLParser): 14389 (WTF::URLParser::IsAuthorityTerminator): 14390 (WTF::URLParser::ExtractFileName): 14391 (WTF::URLParser::ExtractQueryKeyValue): 14392 (WTF::URLParser::ParseAuthority): 14393 (WTF::URLParser::ParsePort): 14394 (WTF::URLParser::ParseStandardURL): 14395 (WTF::URLParser::ParsePathURL): 14396 (WTF::URLParser::ParseFileSystemURL): 14397 (WTF::URLParser::ParseMailtoURL): 14398 (WTF::URLParser::parsePathInternal): 14399 (WTF::URLParser::ParseAfterScheme): 14400 * wtf/url/src/URLParse.h: Added. 14401 (URLParser): 14402 * wtf/url/src/URLParseFile.cpp: Added. 14403 (WTF): 14404 (WTF::URLParser::ParseFileURL): 14405 (URLParser): 14406 * wtf/url/src/URLParseInternal.h: Added. 14407 (URLParser): 14408 (WTF::URLParser::isURLSlash): 14409 (WTF::URLParser::shouldTrimFromURL): 14410 (WTF::URLParser::trimURL): 14411 (WTF::URLParser::countConsecutiveSlashes): 14412 * wtf/url/src/URLParser.h: Removed. 14413 * wtf/url/src/URLQueryCanonicalizer.h: Removed. 14414 * wtf/url/src/URLSegments.cpp: 14415 * wtf/url/src/URLSegments.h: 14416 (WTF::URLSegments::URLSegments): 14417 (URLSegments): 14418 (WTF::URLSegments::operator=): 14419 (WTF::URLSegments::innerURLSegments): 14420 (WTF::URLSegments::setInnerURLSegments): 14421 (WTF::URLSegments::clearInnerURLSegments): 14422 * wtf/url/src/URLUtil.cpp: Added. 14423 (URLUtilities): 14424 (WTF::URLUtilities::IsStandard): 14425 (WTF::URLUtilities::FindAndCompareScheme): 14426 (WTF::URLUtilities::Canonicalize): 14427 (WTF::URLUtilities::resolveRelative): 14428 (WTF::URLUtilities::ReplaceComponents): 14429 (WTF::URLUtilities::LowerCaseEqualsASCII): 14430 (WTF::URLUtilities::DecodeURLEscapeSequences): 14431 (WTF::URLUtilities::EncodeURIComponent): 14432 (WTF::URLUtilities::CompareSchemeComponent): 14433 * wtf/url/src/URLUtil.h: Added. 14434 (URLUtilities): 14435 * wtf/url/src/URLUtilInternal.h: Renamed from Source/WTF/wtf/url/src/URLEscape.h. 14436 (URLUtilities): 14437 144382012-09-24 Joone Hur <joone.hur@intel.com> 14439 14440 [GTK] Implement GraphicsLayer using Clutter 14441 https://bugs.webkit.org/show_bug.cgi?id=73767 14442 14443 Reviewed by Martin Robinson. 14444 14445 Add ClutterActor and GraphicsLayerActor to GTypedefs.h. 14446 14447 * wtf/gobject/GTypedefs.h: 14448 144492012-09-23 Byungwoo Lee <bw80.lee@gmail.com> 14450 14451 Fix build warnings : -Wunused-parameter, -Wparentheses, -Wuninitialized. 14452 https://bugs.webkit.org/show_bug.cgi?id=97306 14453 14454 Reviewed by Benjamin Poulain. 14455 14456 Fix build warning about -Wunused-parameter on FastMalloc.cpp, 14457 OSAllocatorPosix.cpp by using UNUSED_PARAM() macro. 14458 Fix header including order of FastMalloc.cpp. 14459 14460 * wtf/FastMalloc.cpp: 14461 (WTF::fastMallocSize): 14462 * wtf/OSAllocatorPosix.cpp: 14463 (WTF::OSAllocator::reserveAndCommit): 14464 144652012-09-22 Sam Weinig <sam@webkit.org> 14466 14467 Add explicit conversion operator to RetainPtr for easier use in C++11 environments 14468 https://bugs.webkit.org/show_bug.cgi?id=97403 14469 14470 Reviewed by Dan Bernstein. 14471 14472 * wtf/Compiler.h: 14473 Add support for COMPILER_SUPPORTS(CXX_EXPLICIT_CONVERSIONS) 14474 14475 * wtf/RetainPtr.h: 14476 (RetainPtr): 14477 (WTF::RetainPtr::get): 14478 (WTF::RetainPtr::operator PtrType): 14479 Add the explicit conversion operator and group all the underlying 14480 pointer accessors together. 14481 144822012-09-21 Simon Hausmann <simon.hausmann@digia.com> 14483 14484 [Qt] Error out early if we don't have ICU available 14485 14486 Reviewed by Tor Arne Vestbø. 14487 14488 * WTF.pri: 14489 144902012-09-20 Patrick Gansterer <paroga@webkit.org> 14491 14492 Add String::numberToStringFixedWidth() 14493 https://bugs.webkit.org/show_bug.cgi?id=96330 14494 14495 Reviewed by Benjamin Poulain. 14496 14497 Add this new function as replacement for the ShouldRoundDecimalPlaces flag of String::number() 14498 and remove the now unnecessary branch in String::number() for the old flags. 14499 14500 * wtf/text/WTFString.cpp: 14501 (WTF::String::number): 14502 (WTF::String::numberToStringFixedWidth): 14503 * wtf/text/WTFString.h: 14504 145052012-09-19 Geoffrey Garen <ggaren@apple.com> 14506 14507 OSR exit sometimes neglects to create the arguments object 14508 https://bugs.webkit.org/show_bug.cgi?id=97162 14509 14510 Reviewed by Filip Pizlo. 14511 14512 * wtf/HashTraits.h: 14513 (NullableHashTraits): 14514 (WTF::NullableHashTraits::emptyValue): 14515 (WTF): 14516 145172012-09-18 Glenn Adams <glenn@skynav.com> 14518 14519 WTFString::show doesn't dump non-ASCII characters in a readable manner 14520 https://bugs.webkit.org/show_bug.cgi?id=96749 14521 14522 Reviewed by Benjamin Poulain. 14523 14524 Dump non-ASCII characters in a useful form for debugging. 14525 14526 * wtf/text/WTFString.cpp: 14527 (asciiDebug): 14528 Dump non-ASCII characters (i.e., UTF-16 code elements) as well as non-printable ASCII characters 14529 using \uXXXX format. Also escape \ as \\ in order to remove ambiguity. 14530 145312012-09-18 Mark Hahnenberg <mhahnenberg@apple.com> 14532 14533 Use WTF::HasTrivialDestructor instead of compiler-specific versions in JSC::NeedsDestructor 14534 https://bugs.webkit.org/show_bug.cgi?id=96980 14535 14536 Reviewed by Benjamin Poulain. 14537 14538 * wtf/TypeTraits.h: 14539 (WTF): 14540 145412012-09-17 Glenn Adams <glenn@skynav.com> 14542 14543 Including HexNumber.h fails build if hexDigitsForMode is not referenced 14544 https://bugs.webkit.org/show_bug.cgi?id=96873 14545 14546 Reviewed by Benjamin Poulain. 14547 14548 Ensure release build is possible when hexDigitsForMode is not referenced by 14549 template expansion. 14550 14551 * wtf/HexNumber.h: 14552 (WTF::Internal::hexDigitsForMode): 14553 Change hexDigitsForMode to inline (rather than static). Make string literals 14554 {lower,upper}HexDigits non-local and non-static, but const, to which the linker 14555 should merge references in the RO data segment. 14556 145572012-09-17 Filip Pizlo <fpizlo@apple.com> 14558 14559 The ThreadRescrictionVerifier should be more forcibly disabled on systems that use threads 14560 https://bugs.webkit.org/show_bug.cgi?id=96957 14561 14562 Reviewed by Oliver Hunt. 14563 14564 * wtf/ThreadRestrictionVerifier.h: 14565 (WTF): 14566 (WTF::ThreadRestrictionVerifier::ThreadRestrictionVerifier): 14567 (ThreadRestrictionVerifier): 14568 (WTF::ThreadRestrictionVerifier::setMutexMode): 14569 (WTF::ThreadRestrictionVerifier::setDispatchQueueMode): 14570 (WTF::ThreadRestrictionVerifier::turnOffVerification): 14571 (WTF::ThreadRestrictionVerifier::setShared): 14572 (WTF::ThreadRestrictionVerifier::isSafeToUse): 14573 145742012-09-17 Sheriff Bot <webkit.review.bot@gmail.com> 14575 14576 Unreviewed, rolling out r128796. 14577 http://trac.webkit.org/changeset/128796 14578 https://bugs.webkit.org/show_bug.cgi?id=96966 14579 14580 It broke everything (Requested by Ossy_NIGHT on #webkit). 14581 14582 * wtf/OSAllocatorPosix.cpp: 14583 (WTF::OSAllocator::reserveUncommitted): 14584 (WTF::OSAllocator::reserveAndCommit): 14585 (WTF::OSAllocator::commit): 14586 (WTF::OSAllocator::decommit): 14587 145882012-09-17 Uli Schlachter <psychon@znc.in> 14589 14590 Implement uncommitted memory for Linux. 14591 https://bugs.webkit.org/show_bug.cgi?id=65766 14592 14593 Reviewed by Gavin Barraclough. 14594 14595 The old approach used MAP_NORESERVE to allocate address space without 14596 committing it. However, that flag gets ignored if 14597 /proc/sys/vm/overcommit_memory is set to 2. The new approach uses a 14598 mapping with PROT_NONE. This works because mappings which aren't even 14599 readable don't get accounted as committed on Linux. 14600 14601 * wtf/OSAllocatorPosix.cpp: 14602 (WTF::OSAllocator::reserveUncommitted): 14603 (WTF::OSAllocator::reserveAndCommit): 14604 (WTF::OSAllocator::commit): 14605 (WTF::OSAllocator::decommit): 14606 146072012-09-17 Filip Pizlo <fpizlo@apple.com> 14608 14609 Array profiling has convergence issues 14610 https://bugs.webkit.org/show_bug.cgi?id=96891 14611 14612 Reviewed by Gavin Barraclough. 14613 14614 Added functions for testing if something is a power of 2. 14615 14616 * wtf/MathExtras.h: 14617 (hasZeroOrOneBitsSet): 14618 (hasTwoOrMoreBitsSet): 14619 146202012-09-17 Ilya Tikhonovsky <loislo@chromium.org> 14621 14622 Web Inspector: NMI: now when we can detect instrumented classes we can 14623 remove addInstrumentedMember and use addMember for everything. 14624 https://bugs.webkit.org/show_bug.cgi?id=96913 14625 14626 Reviewed by Yury Semikhatsky. 14627 14628 * wtf/MemoryInstrumentation.h: 14629 (WTF::MemoryInstrumentation::addRootObject): 14630 (WTF::MemoryInstrumentation::addObject): 14631 (WTF::MemoryInstrumentation::addObjectImpl): 14632 (WTF): 14633 (WTF::MemoryInstrumentation::addInstrumentedCollection): 14634 (WTF::MemoryInstrumentation::addInstrumentedMapEntries): 14635 (WTF::MemoryInstrumentation::addInstrumentedMapValues): 14636 * wtf/text/AtomicString.cpp: 14637 (WTF::AtomicString::reportMemoryUsage): 14638 * wtf/text/CString.h: 14639 (WTF::CString::reportMemoryUsage): 14640 * wtf/text/StringImpl.cpp: 14641 (WTF::StringImpl::reportMemoryUsage): 14642 * wtf/text/WTFString.cpp: 14643 (WTF::String::reportMemoryUsage): 14644 * wtf/url/api/ParsedURL.cpp: 14645 (WTF::ParsedURL::reportMemoryUsage): 14646 * wtf/url/api/URLString.cpp: 14647 (WTF::URLString::reportMemoryUsage): 14648 146492012-09-17 Ilya Tikhonovsky <loislo@chromium.org> 14650 14651 Unreviewed compilation fix. 14652 14653 * wtf/MemoryInstrumentation.h: 14654 (WTF::MemoryInstrumentation::reportObjectMemoryUsage): 14655 146562012-09-15 Yury Semikhatsky <yurys@chromium.org> 14657 14658 Web Inspector: automatically detect if class has reportMemoryUsage method 14659 https://bugs.webkit.org/show_bug.cgi?id=96756 14660 14661 Reviewed by Alexander Pavlov. 14662 14663 Implemeted automatic selector of the memory reporting method. If 14664 an object has reportMemoryUsage method then call it. Otherwise 14665 count only object's self size. As the next step we will delete 14666 addInstrumentedMember and addInstrumentedObjectImpl and will 14667 have only addMember and addObjectImpl that would automatically 14668 call reportMemoryUsage if it is present. 14669 14670 * wtf/MemoryInstrumentation.h: 14671 (WTF::MemoryInstrumentation::selectInstrumentationMethod): 14672 (MemoryInstrumentation): 14673 (WTF::MemoryInstrumentation::reportObjectMemoryUsage): 14674 (WTF::MemoryInstrumentation::addInstrumentedObjectImpl): 14675 (WTF::MemoryInstrumentation::addObjectImpl): 14676 (WTF::::process): 14677 146782012-09-14 Yury Semikhatsky <yurys@chromium.org> 14679 14680 Web Inspector: OwnPtr and RefPtr reported by pointer can be double counted by the memory instrumentation 14681 https://bugs.webkit.org/show_bug.cgi?id=96791 14682 14683 Reviewed by Alexander Pavlov. 14684 14685 * wtf/MemoryInstrumentation.h: 14686 (WTF::MemoryInstrumentation::addObjectImpl): check if the smart pointer has already 14687 been visited before counting its size. 14688 146892012-09-15 Benjamin Poulain <benjamin@webkit.org> 14690 14691 Fix the build with WTF URL 14692 https://bugs.webkit.org/show_bug.cgi?id=96875 14693 14694 Reviewed by Adam Barth. 14695 14696 Add support for MemoryInstrumentation to WTF's URL classes. 14697 14698 * wtf/url/api/ParsedURL.cpp: 14699 (WTF::ParsedURL::reportMemoryUsage): 14700 * wtf/url/api/ParsedURL.h: 14701 (ParsedURL): 14702 * wtf/url/api/URLString.cpp: 14703 (WTF::URLString::reportMemoryUsage): 14704 * wtf/url/api/URLString.h: 14705 (URLString): 14706 147072012-09-15 Raphael Kubo da Costa <rakuco@FreeBSD.org> 14708 14709 llint: Implement LOCAL_LABEL_STRING for the BSD platforms. 14710 https://bugs.webkit.org/show_bug.cgi?id=96870 14711 14712 Reviewed by Filip Pizlo. 14713 14714 * wtf/InlineASM.h: Extend the definition of LOCAL_LABEL_STRING 14715 currently used for OS(LINUX) to the BSDs, since they also normally 14716 use GNU as, and clang/llvm seems to parse that syntax just fine as 14717 well. 14718 147192012-09-14 Alexey Proskuryakov <ap@apple.com> 14720 14721 Minimize collisions when hashing pairs 14722 https://bugs.webkit.org/show_bug.cgi?id=96022 14723 14724 Build fix (with newer clang?) 14725 14726 * wtf/HashFunctions.h: (WTF::pairIntHash): Be explicit about casting from 14727 64 bit to 32 bit. 14728 147292012-09-14 Dana Jansens <danakj@chromium.org> 14730 14731 Minimize collisions when hashing pairs 14732 https://bugs.webkit.org/show_bug.cgi?id=96022 14733 14734 Reviewed by Adrienne Walker. 14735 14736 The current hash function for pairs has poor performance as it does a 14737 nice hash function on 64 bits, but then just drops the top 32 bits. The 14738 hash method for pairs tries to use Thomas Wang's 64 bit Mix Function, 14739 but this requires not dropping any bits in order to retain the 14740 characteristics mentioned by Thomas. 14741 14742 A better method of hashing sets of 32-bit integers is to use 14743 multiplication in 64 bits with random integers. This method is a 14744 provably almost-universal hash function. Testing shows that this 14745 method decreases the time required, when compared with the current 14746 method, by more than 20% due to better hashing characteristics. 14747 14748 * wtf/HashFunctions.h: 14749 (WTF): 14750 (WTF::pairIntHash): 14751 Implments the hashing method for a pair of unsigned integers. 14752 14753 (WTF::PairHash::hash): 14754 Use pairIntHash() on the hash results of each object in the pair. 14755 14756 (WTF::IntPairHash::hash): 14757 Implement an integer-specific PairHash class that does not need to 14758 hash each object in the pair. It uses pairIntHash on the two 14759 integers in the pair directly. 14760 14761 (WTF::IntPairHash::equal): 14762 (IntPairHash): 14763 147642012-09-14 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 14765 14766 [Qt] Make force_static_libs_as_shared work on Mac OS 14767 14768 We had to move a few LIBS += around that were in the wrong place, 14769 and not caught when everything was just linked into the final 14770 QtWebKit library. 14771 14772 Reviewed by Simon Hausmann. 14773 14774 * WTF.pri: 14775 147762012-09-14 Ilya Tikhonovsky <loislo@chromium.org> 14777 14778 Web Inspector: NMI: convert template versions of String*::reportMemoryUsage functions to normal functions. 14779 https://bugs.webkit.org/show_bug.cgi?id=96759 14780 14781 Reviewed by Yury Semikhatsky. 14782 14783 Now when MemoryInstrumentation.h is a part of WTF we can move reportMemoryUsage functions to cpp file. 14784 14785 * wtf/text/AtomicString.cpp: 14786 (WTF::AtomicString::reportMemoryUsage): 14787 (WTF): 14788 * wtf/text/AtomicString.h: 14789 (WTF): 14790 (AtomicString): 14791 * wtf/text/StringImpl.cpp: 14792 (WTF::StringImpl::reportMemoryUsage): 14793 (WTF): 14794 * wtf/text/StringImpl.h: 14795 (WTF): 14796 (StringImpl): 14797 * wtf/text/WTFString.cpp: 14798 (WTF::String::reportMemoryUsage): 14799 (WTF): 14800 * wtf/text/WTFString.h: 14801 (WTF): 14802 (String): 14803 148042012-09-14 Ilya Tikhonovsky <loislo@chromium.org> 14805 14806 Web Inspector: NMI: remove current traits helper class because it is customizing the instrumentation at a wrong place and is not necessary at the moment. 14807 https://bugs.webkit.org/show_bug.cgi?id=96737 14808 14809 Reviewed by Yury Semikhatsky. 14810 14811 * wtf/MemoryInstrumentation.h: 14812 (MemoryInstrumentation): 14813 WTF::MemoryInstrumentationTraits): removed 14814 (WTF::MemoryInstrumentation::OwningTraits::addInstrumentedObject): direct call inserted 14815 (WTF::MemoryInstrumentation::OwningTraits::addObject):direct call inserted 14816 148172012-09-13 Kenneth Rohde Christiansen <kenneth@webkit.org> 14818 14819 Evas_Object* is a ref'ed structure, so tread it as such 14820 https://bugs.webkit.org/show_bug.cgi?id=96659 14821 14822 Reviewed by Gyuyoung Kim. 14823 14824 Remove OwnPtr support for Evas_Object* and add support for it 14825 with RefPtr instead (the latter moved from WebCore). 14826 14827 * wtf/PlatformEfl.cmake: 14828 * wtf/efl/OwnPtrEfl.cpp: 14829 * wtf/efl/RefPtrEfl.cpp: Renamed from Source/WebCore/platform/efl/RefPtrEfl.cpp. 14830 (WTF): 14831 (WTF::refIfNotNull): 14832 (WTF::derefIfNotNull): 14833 * wtf/efl/RefPtrEfl.h: Renamed from Source/WebCore/platform/efl/RefPtrEfl.h. 14834 (WTF): 14835 148362012-09-14 Gyuyoung Kim <gyuyoung.kim@samsung.com> 14837 14838 Unreviewed, rolling out r128507. 14839 http://trac.webkit.org/changeset/128507 14840 https://bugs.webkit.org/show_bug.cgi?id=96659 14841 14842 Revert. r128507 makes too many crash in EFL layout test bots. 14843 14844 * wtf/PlatformEfl.cmake: 14845 * wtf/efl/OwnPtrEfl.cpp: 14846 (WTF::deleteOwnedPtr): 14847 (WTF): 14848 148492012-09-13 Kevin Funk <kevin.funk@kdab.com> 14850 14851 Make compile with both OS(WINCE) and PLATFORM(QT) support 14852 https://bugs.webkit.org/show_bug.cgi?id=95536 14853 14854 Reviewed by Simon Hausmann. 14855 14856 Fixes for Windows CE. 14857 14858 * WTF.pri: 14859 Also include path for mt19937ar.c 14860 * wtf/unicode/icu/CollatorICU.cpp: 14861 Fix undeclared strdup() on CE7 14862 * wtf/Platform.h: 14863 148642012-09-13 Byungseon Shin <xingri@gmail.com> 14865 14866 Fix for WTF fails to compile in thumb mode when llint is enabled. 14867 https://bugs.webkit.org/show_bug.cgi?id=96400 14868 14869 Reviewed by Filip Pizlo. 14870 14871 When using "+m" with Armv7 cross compiler assume offset range between +/- 4095 14872 (the largest possible offset range). 14873 However, ldrex/strex can only use offset range of 0~1020, so "+m" needed to be changed to "+Q". 14874 Ref. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54480 14875 14876 * wtf/Atomics.h: 14877 (WTF::weakCompareAndSwap): 14878 148792012-09-13 Kenneth Rohde Christiansen <kenneth@webkit.org> 14880 14881 Evas_Object* is a ref'ed structure, so tread it as such 14882 https://bugs.webkit.org/show_bug.cgi?id=96659 14883 14884 Reviewed by Adam Barth. 14885 14886 Remove OwnPtr support for Evas_Object* and add support for it 14887 with RefPtr instead (the latter moved from WebCore). 14888 14889 * wtf/PlatformEfl.cmake: 14890 * wtf/efl/OwnPtrEfl.cpp: 14891 * wtf/efl/RefPtrEfl.cpp: Renamed from Source/WebCore/platform/efl/RefPtrEfl.cpp. 14892 (WTF): 14893 (WTF::refIfNotNull): 14894 (WTF::derefIfNotNull): 14895 * wtf/efl/RefPtrEfl.h: Renamed from Source/WebCore/platform/efl/RefPtrEfl.h. 14896 (WTF): 14897 148982012-09-13 Michael Saboff <msaboff@apple.com> 14899 14900 Added 8 bit path to WidthIterator::advance() 14901 https://bugs.webkit.org/show_bug.cgi?id=96590 14902 14903 Reviewed by Geoffrey Garen. 14904 14905 Added new character constant for Hiragana Letter Small A. 14906 14907 * wtf/unicode/CharacterNames.h: 14908 (Unicode): 14909 149102012-09-13 Ilya Tikhonovsky <loislo@chromium.org> 14911 14912 Web Inspector: NMI: instrument KURL directly. 14913 https://bugs.webkit.org/show_bug.cgi?id=96624 14914 14915 Reviewed by Yury Semikhatsky. 14916 14917 I replaced traits based instrumentation of KURL with reportMemoryUsage functions. 14918 CString* were also instrumented. 14919 14920 Drive by fix: Instrumentation code in QualifiedName was moved to cpp. 14921 14922 * wtf/text/CString.h: 14923 (CStringBuffer): 14924 (WTF::CStringBuffer::reportMemoryUsage): 14925 (CString): 14926 (WTF::CString::reportMemoryUsage): 14927 149282012-09-12 Ilya Tikhonovsky <loislo@chromium.org> 14929 14930 Web Inspector: NMI: migrate core instrumentation code to WTF namespace 14931 https://bugs.webkit.org/show_bug.cgi?id=96511 14932 14933 Reviewed by Yury Semikhatsky. 14934 14935 After moving core NMI code to WTF namespace I removed forward declarations 14936 of MemoryObjectInfo and MemoryInstrumentation from WebCore headers and add 14937 forward declaration into wtf/Forward.h 14938 14939 * wtf/Forward.h: 14940 (WTF): 14941 * wtf/MemoryInstrumentation.h: 14942 149432012-09-12 Dan Bernstein <mitz@apple.com> 14944 14945 Removed a reference to a file that doesn’t participate in any target. 14946 14947 * WTF.xcodeproj/project.pbxproj: Removed the reference to 14948 CONTRIBUTORS.pthreads-win32. 14949 149502012-09-11 Michael Saboff <msaboff@apple.com> 14951 14952 Element::classAttributeChanged should use characters8/16 to find first non-whitespace 14953 https://bugs.webkit.org/show_bug.cgi?id=96446 14954 14955 Reviewed by Benjamin Poulain. 14956 14957 Added bit size related string accessors to AtomicString to support change. 14958 14959 * wtf/text/AtomicString.h: 14960 (AtomicString): 14961 (WTF::AtomicString::is8Bit): 14962 (WTF::AtomicString::characters8): 14963 (WTF::AtomicString::characters16): 14964 149652012-09-12 Michael Saboff <msaboff@apple.com> 14966 14967 Build fixed for http://trac.webkit.org/changeset/128243 14968 14969 Unreviewed build fix. 14970 14971 Removed temporarily added function signature. 14972 14973 * icu/unicode/unistr.h: 14974 (UnicodeString::extract): 14975 149762012-09-12 Michael Saboff <msaboff@apple.com> 14977 14978 Build fixed for http://trac.webkit.org/changeset/128243 14979 14980 Unreviewed build fix. 14981 14982 Change UnicodeString::extract for gcc based on ICU fix described in 14983 http://bugs.icu-project.org/trac/ticket/8197. 14984 14985 * icu/unicode/unistr.h: 14986 (UnicodeString::extract): 14987 149882012-09-12 Ilya Tikhonovsky <loislo@chromium.org> 14989 14990 Web Inspector: NMI move String* instrumentation to wtf. 14991 https://bugs.webkit.org/show_bug.cgi?id=96405 14992 14993 Reviewed by Yury Semikhatsky. 14994 14995 This instrumentation is solving the problem with substrings and removes traits based code which is hard to upstream. 14996 14997 Tested by webkit_unit_tests. 14998 14999 * wtf/text/AtomicString.h: 15000 (AtomicString): 15001 (WTF::AtomicString::reportMemoryUsage): 15002 * wtf/text/StringImpl.h: 15003 (StringImpl): 15004 (WTF::StringImpl::reportMemoryUsage): 15005 * wtf/text/WTFString.h: 15006 (String): 15007 (WTF::String::reportMemoryUsage): 15008 150092012-09-12 Sheriff Bot <webkit.review.bot@gmail.com> 15010 15011 Unreviewed, rolling out r128279. 15012 http://trac.webkit.org/changeset/128279 15013 https://bugs.webkit.org/show_bug.cgi?id=96487 15014 15015 "Snow Leopard compilation broken" (Requested by yurys on 15016 #webkit). 15017 15018 * wtf/MemoryInstrumentation.h: 15019 (GenericMemoryTypes): 15020 (WebCore): 15021 (WebCore::MemoryInstrumentation::addRootObject): 15022 (WebCore::MemoryObjectInfo::reportObjectInfo): 15023 (WebCore::MemoryClassInfo::MemoryClassInfo): 15024 * wtf/text/AtomicString.h: 15025 (AtomicString): 15026 * wtf/text/StringImpl.h: 15027 * wtf/text/WTFString.h: 15028 150292012-09-12 Yury Semikhatsky <yurys@chromium.org> 15030 15031 Web Inspector: Persistent handle referenced from ScriptWrappable is double counted 15032 https://bugs.webkit.org/show_bug.cgi?id=96483 15033 15034 Reviewed by Alexander Pavlov. 15035 15036 * wtf/MemoryInstrumentation.h: 15037 (WebCore::MemoryClassInfo::addWeakPointer): this method is expected to be 15038 used on fields that are pointers to objects which are parts of bigger memory 15039 blocks (field of another object, element in an array, object allocated in a 15040 memory arena etc.). We don't want to count such objects' memory separately 15041 from their owners but in order to be able to validates the memory instrumentation 15042 with clang plugin we need to make sure all fields in instrumented objects 15043 are reported. 15044 (MemoryClassInfo): 15045 150462012-09-12 Ilya Tikhonovsky <loislo@chromium.org> 15047 15048 Web Inspector: NMI move String* instrumentation to wtf. 15049 https://bugs.webkit.org/show_bug.cgi?id=96405 15050 15051 Reviewed by Yury Semikhatsky. 15052 15053 This instrumentation is solving the problem with substrings and removes traits based code which is hard to upstream. 15054 15055 Tested by webkit_unit_tests. 15056 15057 * wtf/MemoryInstrumentation.h: 15058 (WebCore): 15059 (WebCore::MemoryInstrumentation::addRootObject): 15060 (WebCore::MemoryObjectInfo::reportObjectInfo): 15061 (WebCore::MemoryClassInfo::MemoryClassInfo): 15062 * wtf/text/AtomicString.h: 15063 (AtomicString): 15064 (WTF::AtomicString::reportMemoryUsage): 15065 * wtf/text/StringImpl.h: 15066 (StringImpl): 15067 (WTF::StringImpl::reportMemoryUsage): 15068 * wtf/text/WTFString.h: 15069 (String): 15070 (WTF::String::reportMemoryUsage): 15071 150722012-09-11 Michael Saboff <msaboff@apple.com> 15073 15074 Build fixed for http://trac.webkit.org/changeset/128243 15075 15076 Unreviewed build fix. 15077 15078 Added missing include file needed by 96422 for C++ ICU APIs. 15079 15080 * icu/unicode/bytestream.h: Added. 15081 * icu/unicode/rep.h: Added. 15082 * icu/unicode/std_string.h: Added. 15083 * icu/unicode/strenum.h: Added. 15084 * icu/unicode/stringpiece.h: Added. 15085 * icu/unicode/unistr.h: Added. 15086 * icu/unicode/uobject.h: Added. 15087 150882012-09-11 Michael Saboff <msaboff@apple.com> 15089 15090 Build fixed for http://trac.webkit.org/changeset/128243 15091 15092 Rubber stamped by Stephanie Lewis. 15093 15094 Added missing include file needed by 96422. 15095 15096 * icu/unicode/unorm2.h: Added. 15097 150982012-09-11 Michael Saboff <msaboff@apple.com> 15099 15100 Build fixed for http://trac.webkit.org/changeset/128243 15101 15102 Rubber stamped by Stephanie Lewis. 15103 15104 Added missing include file needed by 96422. 15105 15106 * icu/unicode/ptypes.h: Added. 15107 151082012-09-11 Michael Saboff <msaboff@apple.com> 15109 15110 Update ICU header files to more recent version 15111 https://bugs.webkit.org/show_bug.cgi?id=96422 15112 15113 Reviewed by Geoff Garen. 15114 15115 Updated ICU header files to 4.6.1. Modifications made as part of the merge are: 15116 platform.h - Changed ifndef / define / endif for U_HAVE_UINT8_T, U_HAVE_UINT16_T, U_HAVE_UINT32_T, 15117 U_HAVE_UINT64_T, U_IS_BIG_ENDIAN and U_ENABLE_TRACING to match the existing platform.h 15118 putil.h (line 132) - Changes defined(U_WINDOWS) to defined(WIN32) || defined(OS2) to match existing putil.h 15119 ustring.h (line 945) - Wrapped macro argument cs with { (const UChar *)cs } to match existing ustring.h 15120 utypes.h (line 545) - Changed defined(U_WINDOWS) to defined(WIN32) to match existing utypes.h 15121 15122 * icu/unicode/localpointer.h: Added. 15123 * icu/unicode/parseerr.h: 15124 * icu/unicode/platform.h: 15125 * icu/unicode/putil.h: 15126 * icu/unicode/uchar.h: 15127 * icu/unicode/ucnv.h: 15128 * icu/unicode/ucnv_err.h: 15129 * icu/unicode/ucol.h: 15130 * icu/unicode/uconfig.h: 15131 * icu/unicode/uenum.h: 15132 * icu/unicode/uiter.h: 15133 * icu/unicode/uloc.h: 15134 * icu/unicode/umachine.h: 15135 * icu/unicode/unorm.h: 15136 * icu/unicode/urename.h: 15137 * icu/unicode/uscript.h: 15138 * icu/unicode/uset.h: 15139 * icu/unicode/ustring.h: 15140 * icu/unicode/utf.h: 15141 * icu/unicode/utf16.h: 15142 * icu/unicode/utf8.h: 15143 * icu/unicode/utypes.h: 15144 * icu/unicode/uvernum.h: Added. 15145 * icu/unicode/uversion.h: 15146 151472012-09-11 Pratik Solanki <psolanki@apple.com> 15148 15149 Add ObjcRuntimeExtras.h to the Xcode project file 15150 https://bugs.webkit.org/show_bug.cgi?id=96419 15151 15152 Reviewed by Alexey Proskuryakov. 15153 15154 * WTF.xcodeproj/project.pbxproj: 15155 151562012-09-11 Adrienne Walker <enne@google.com> 15157 15158 Clang doesn't optimize away undefined OwnPtr copy constructor 15159 https://bugs.webkit.org/show_bug.cgi?id=74625 15160 15161 Reviewed by Anders Carlsson. 15162 15163 Original patch by Anders Carlsson, with a minor edit. 15164 15165 The publicly declared-but-not-defined copy constructor is a compiler 15166 optimization-dependent landmine. Clang often fails to optimize the use 15167 of this function out, leading to internal linkage errors for the missing 15168 definition. gcc doesn't have this problem and optimizes that function 15169 out, leading to code that inconsistently fails to link across platforms. 15170 15171 As a partial fix for this problem, on any compiler that supports C++11 15172 move semantics, replace the bogus copy constructor with the move 15173 constructors. In the future, if all compilers support this, then the 15174 copy constructor can be removed. 15175 15176 This still leaves other compilers that don't support move semantics 15177 like Visual Studio vulnerable to linking inconsistencies. 15178 15179 * wtf/OwnPtr.h: 15180 (OwnPtr): 15181 (WTF): 15182 (WTF::::OwnPtr): 15183 (WTF::=): 15184 151852012-09-11 Raphael Kubo da Costa <rakuco@webkit.org> 15186 15187 [EFL] Rewrite the EFL-related Find modules 15188 https://bugs.webkit.org/show_bug.cgi?id=95237 15189 15190 Reviewed by Kenneth Rohde Christiansen. 15191 15192 * CMakeLists.txt: Stop setting the LINK_FLAGS property. 15193 * PlatformEfl.cmake: Add libraries and include directories for 15194 each Enlightenment Foundation Library used by the port. 15195 151962012-09-11 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 15197 15198 [Qt] Add a configure step to the Qt build system 15199 15200 This allows building the Qt port using just 'qmake WebKit.pro'. Using 15201 the build-webkit script is still supported, and will add slightly more 15202 logic to the build, such as detecting the need for clean or incremental 15203 builds. 15204 15205 Internally, the build system now uses a new variable, WEBKIT_CONFIG, for 15206 all things related to configuring the build, such as use/have/enable flags, 15207 and these are translated to defines in default_post. Project files should 15208 no longer check contains(DEFINES,...) to detect features, but use the new 15209 enable?(), use?(), and have?() functions. The no_webkit1 and no_webkit2 15210 options have been translated into WEBKIT_CONFIG options as well, and can 15211 be checked using build?(). 15212 15213 Reviewed by Simon Hausmann. 15214 15215 * WTF.pri: 15216 * wtf/Platform.h: 15217 152182012-09-10 Ilya Tikhonovsky <loislo@chromium.org> 15219 15220 Web Inspector: NMI: move MemoryInstrumentation.h to wtf 15221 https://bugs.webkit.org/show_bug.cgi?id=96356 15222 15223 Reviewed by Yury Semikhatsky. 15224 15225 It is necessary step because it helps us to remove dependency between platform and WebCore. 15226 15227 * GNUmakefile.list.am: 15228 * WTF.gypi: 15229 * WTF.pro: 15230 * WTF.vcproj/WTF.vcproj: 15231 * WTF.xcodeproj/project.pbxproj: 15232 * wtf/MemoryInstrumentation.h: Renamed from Source/WebCore/dom/MemoryInstrumentation.h. 15233 (WebCore): 15234 (GenericMemoryTypes): 15235 (MemoryInstrumentationTraits): 15236 (MemoryInstrumentation): 15237 (WebCore::MemoryInstrumentation::~MemoryInstrumentation): 15238 (WebCore::MemoryInstrumentation::addRootObject): 15239 (InstrumentedPointerBase): 15240 (WebCore::MemoryInstrumentation::InstrumentedPointerBase::~InstrumentedPointerBase): 15241 (InstrumentedPointer): 15242 (WebCore::MemoryInstrumentation::InstrumentedPointer::InstrumentedPointer): 15243 (WebCore::MemoryInstrumentation::addObject): 15244 (WebCore::MemoryInstrumentation::addInstrumentedObject): 15245 (WebCore::MemoryInstrumentation::addRawBuffer): 15246 (WebCore::MemoryInstrumentation::OwningTraits::addInstrumentedObject): 15247 (WebCore::MemoryInstrumentation::OwningTraits::addObject): 15248 (WebCore::MemoryInstrumentationTraits::addInstrumentedObject): 15249 (WebCore::MemoryInstrumentationTraits::addObject): 15250 (MemoryObjectInfo): 15251 (WebCore::MemoryObjectInfo::MemoryObjectInfo): 15252 (WebCore::MemoryObjectInfo::objectType): 15253 (WebCore::MemoryObjectInfo::objectSize): 15254 (WebCore::MemoryObjectInfo::memoryInstrumentation): 15255 (WebCore::MemoryObjectInfo::reportObjectInfo): 15256 (MemoryClassInfo): 15257 (WebCore::MemoryClassInfo::MemoryClassInfo): 15258 (WebCore::MemoryClassInfo::addInstrumentedMember): 15259 (WebCore::MemoryClassInfo::addMember): 15260 (WebCore::MemoryClassInfo::addHashMap): 15261 (WebCore::MemoryClassInfo::addHashSet): 15262 (WebCore::MemoryClassInfo::addHashCountedSet): 15263 (WebCore::MemoryClassInfo::addInstrumentedHashSet): 15264 (WebCore::MemoryClassInfo::addInstrumentedVector): 15265 (WebCore::MemoryClassInfo::addInstrumentedVectorPtr): 15266 (WebCore::MemoryClassInfo::addInstrumentedMapEntries): 15267 (WebCore::MemoryClassInfo::addInstrumentedMapValues): 15268 (WebCore::MemoryClassInfo::addListHashSet): 15269 (WebCore::MemoryClassInfo::addVector): 15270 (WebCore::MemoryClassInfo::addVectorPtr): 15271 (WebCore::MemoryClassInfo::addRawBuffer): 15272 (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl): 15273 (WebCore::MemoryInstrumentation::addObjectImpl): 15274 (WebCore::MemoryInstrumentation::addHashMap): 15275 (WebCore::MemoryInstrumentation::addHashSet): 15276 (WebCore::MemoryInstrumentation::addInstrumentedCollection): 15277 (WebCore::MemoryInstrumentation::addInstrumentedMapEntries): 15278 (WebCore::MemoryInstrumentation::addInstrumentedMapValues): 15279 (WebCore::MemoryInstrumentation::addListHashSet): 15280 (WebCore::MemoryInstrumentation::addVector): 15281 (WebCore::MemoryInstrumentation::calculateContainerSize): 15282 (WebCore::::process): 15283 152842012-09-09 Mark Lam <mark.lam@apple.com> 15285 15286 Fixed ASSERT() and ASSERT_AT() macros so that they can be used in 15287 comma expressions. Also, added UNUSED_LABEL(). 15288 https://bugs.webkit.org/show_bug.cgi?id=96127. 15289 15290 Reviewed by Geoffrey Garen. 15291 15292 * wtf/Assertions.h: 15293 * wtf/UnusedParam.h: Added UNUSED_LABEL(). Removed an obsolete comment. 15294 152952012-09-09 Patrick Gansterer <paroga@webkit.org> 15296 15297 Add StringBuilder::appendNumber() and use it 15298 https://bugs.webkit.org/show_bug.cgi?id=96030 15299 15300 Reviewed by Eric Seidel. 15301 15302 Also fix a bunch of append() vs. appendLiteral() issues in the surrounding code. 15303 15304 * wtf/DateMath.cpp: 15305 (WTF::makeRFC2822DateString): 15306 * wtf/text/StringBuilder.cpp: 15307 (WTF::StringBuilder::appendNumber): 15308 * wtf/text/StringBuilder.h: 15309 (StringBuilder): 15310 153112012-09-09 Patrick Gansterer <paroga@webkit.org> 15312 15313 Make the String initialization on the function side of String::number() 15314 https://bugs.webkit.org/show_bug.cgi?id=95940 15315 15316 Reviewed by Benjamin Poulain. 15317 15318 Un-Inline String::number() to make the String initialization done on the function side 15319 instead of being on the caller side. 15320 15321 * GNUmakefile.list.am: 15322 * WTF.gypi: 15323 * WTF.pro: 15324 * WTF.vcproj/WTF.vcproj: 15325 * WTF.xcodeproj/project.pbxproj: 15326 * wtf/CMakeLists.txt: 15327 * wtf/text/IntegerToStringConversion.cpp: Removed. 15328 * wtf/text/IntegerToStringConversion.h: 15329 (WTF::numberToStringImpl): 15330 (WTF::numberToStringSigned): 15331 (WTF::numberToStringUnsigned): 15332 * wtf/text/WTFString.cpp: 15333 (WTF::String::number): 15334 * wtf/text/WTFString.h: 15335 153362012-09-08 Andreas Kling <kling@webkit.org> 15337 15338 Give AtomicString SimpleClassVectorTraits. 15339 <http://webkit.org/b/96186> 15340 15341 Reviewed by Karl Anders Carlsson. 15342 15343 AtomicString can be initialized/moved/compared with memset/memcpy/memcmp, 15344 so add a VectorTraits<AtomicString> to make Vector<AtomicString> a little 15345 more efficient. 15346 15347 * wtf/VectorTraits.h: 15348 153492012-09-07 Sheriff Bot <webkit.review.bot@gmail.com> 15350 15351 Unreviewed, rolling out r127938. 15352 http://trac.webkit.org/changeset/127938 15353 https://bugs.webkit.org/show_bug.cgi?id=96166 15354 15355 It broke the build (Requested by smfr on #webkit). 15356 15357 * wtf/Assertions.h: 15358 153592012-09-07 Mark Lam <mark.lam@apple.com> 15360 15361 Fixed ASSERT() and ASSERT_AT() macros so that they can be used in 15362 comma expressions. 15363 https://bugs.webkit.org/show_bug.cgi?id=96127. 15364 15365 Reviewed by Filip Pizlo. 15366 15367 * wtf/Assertions.h: 15368 (wtfAssert): 15369 153702012-09-07 Michael Saboff <msaboff@apple.com> 15371 15372 StringImpl::find(StringImpl*) doesn't handle cases where search and match strings are different bitness 15373 https://bugs.webkit.org/show_bug.cgi?id=96125 15374 15375 Reviewed by Benjamin Poulain. 15376 15377 Changed findInner and reverseFindInner to be templated on both search and match character types. 15378 Changed both find's and reverseFind to use all four bitness combinations of findInner and 15379 reverseFindInner. 15380 15381 * wtf/text/StringImpl.cpp: 15382 (WTF::findInner): 15383 (WTF::StringImpl::find): 15384 (WTF::reverseFindInner): 15385 (WTF::StringImpl::reverseFind): 15386 153872012-09-07 Michael Saboff <msaboff@apple.com> 15388 15389 equalIgnoringCase of two StringImpls doesn't handle 8 bit strings 15390 https://bugs.webkit.org/show_bug.cgi?id=96028 15391 15392 Reviewed by Benjamin Poulain. 15393 15394 Added 8 bit checks and paths to CaseFoldingHash::equal. Also cleaned up StringHash::equal(), removing 15395 obvious and in one case wrong comments. Moved equalIgnoringCase(UChar*, UChar*) from StringImpl.cpp 15396 to StringImpl.h. 15397 15398 * wtf/text/StringHash.h: 15399 (WTF::StringHash::equal): 15400 (WTF::CaseFoldingHash::equal): 15401 * wtf/text/StringImpl.cpp: 15402 * wtf/text/StringImpl.h: 15403 (WTF::equalIgnoringCase): 15404 154052012-09-07 Patrick Gansterer <paroga@webkit.org> 15406 15407 [WIN] Deprecate String += operator 15408 https://bugs.webkit.org/show_bug.cgi?id=96083 15409 15410 Reviewed by Adam Barth. 15411 15412 * wtf/Platform.h: 15413 154142012-09-06 Michael Saboff <msaboff@apple.com> 15415 15416 StringBuilder::toAtomicString() can create an 16 bit string with 8 bit contents 15417 https://bugs.webkit.org/show_bug.cgi?id=96029 15418 15419 Reviewed by Benjamin Poulain. 15420 15421 Added 8 bit path when creating an AtomicString from a partial 8 bit buffer. 15422 15423 * wtf/text/StringBuilder.h: 15424 (WTF::StringBuilder::toAtomicString): 15425 154262012-09-06 Michael Saboff <msaboff@apple.com> 15427 15428 16 bit JSRopeString up converts an 8 bit fibers to 16 bits during resolution 15429 https://bugs.webkit.org/show_bug.cgi?id=95810 15430 15431 Reviewed by Benjamin Poulain. 15432 15433 New copy routine that takes an 8 bit source and a 16 bit destination. Used when copying 15434 the contents of an 8 bit fiber to the 16 bit buffer when resolving a 16 bit rope. 15435 15436 * wtf/text/StringImpl.h: 15437 (WTF::StringImpl::copyChars): 15438 (StringImpl): 15439 154402012-09-06 Michael Saboff <msaboff@apple.com> 15441 15442 Unreviewed fix to r127799. 15443 https://bugs.webkit.org/show_bug.cgi?id=95807 15444 15445 Unreviewed fix. 15446 15447 Removed extraneous "static". This code is hidden behind STRING_STATS define and 15448 therefore is not enabled by default. 15449 15450 * wtf/text/StringImpl.cpp: 15451 154522012-09-06 Lauro Neto <lauro.neto@openbossa.org> 15453 15454 [Qt] Deprecate String += operator 15455 https://bugs.webkit.org/show_bug.cgi?id=95895 15456 15457 Reviewed by Benjamin Poulain. 15458 15459 Remove Qt from WTF_DEPRECATED_STRING_OPERATORS guard. 15460 15461 * wtf/Platform.h: 15462 154632012-09-06 Michael Saboff <msaboff@apple.com> 15464 15465 ENH: Add Logging to StringImpl to track String Types 15466 https://bugs.webkit.org/show_bug.cgi?id=95807 15467 15468 Reviewed by Benjamin Poulain. 15469 15470 Added StringsStats class that keeps track of the number of strings, number of 8 and 16 bit 15471 strings as well as the number of 8 bit strings up converted to 16 bits. The number of characrters 15472 for each type is also accumulated. These statistics are output via DataLog every 5000 15473 calls to StringImpl destructor. The 5000 can be adjusted via s_printStringStatsFrequency. 15474 This StringStats code is disabled by default and enabled by defining STRING_STATS in 15475 wtf/text/StringImpl.h. 15476 15477 * wtf/text/StringImpl.cpp: 15478 (WTF::StringStats::removeString): 15479 (WTF::StringStats::printStats): 15480 (WTF::StringImpl::~StringImpl): 15481 (WTF::StringImpl::getData16SlowCase): 15482 * wtf/text/StringImpl.h: 15483 (WTF::StringStats::add8BitString): 15484 (StringStats): 15485 (WTF::StringStats::add16BitString): 15486 (WTF::StringStats::addUpconvertedString): 15487 (WTF::StringImpl::StringImpl): 15488 (StringImpl): 15489 (WTF::StringImpl::isSubString): 15490 (WTF::StringImpl::stringStats): 15491 154922012-09-06 Patrick Gansterer <paroga@webkit.org> 15493 15494 Fix export macros in IntegerToStringConversion.h 15495 https://bugs.webkit.org/show_bug.cgi?id=95900 15496 15497 Reviewed by Benjamin Poulain. 15498 15499 The WTF_EXPORT_STRING_API must be used only for symbols which are compiled 15500 on windows in "non-WTF" binaries too. Since this isn't valid for the 15501 IntegerToStringConversion function replace it with WTF_EXPORT_PRIVATE. 15502 15503 * wtf/text/IntegerToStringConversion.h: 15504 155052012-09-06 Simon Hausmann <simon.hausmann@nokia.com> 15506 15507 [Qt] Various small Windows / MSVC build fixes 15508 https://bugs.webkit.org/show_bug.cgi?id=95934 15509 15510 Reviewed by Kenneth Rohde Christiansen. 15511 15512 For the Qt build on Windows, do not enable WTF_USE_UNIX_DOMAIN_SOCKETS for 15513 WebKit2 IPC. 15514 15515 * wtf/Platform.h: 15516 155172012-09-06 Adam Barth <abarth@chromium.org> 15518 15519 Remove WTF::String::operator+= 15520 https://bugs.webkit.org/show_bug.cgi?id=95797 15521 15522 Reviewed by Sam Weinig. 15523 15524 This patch encloses WTF::String::operator+= in an ifdef so that we can 15525 gradually remove it from the various port-specific files. The ifdef 15526 lets us whitelist use of operator+= in individual files during the 15527 transition. 15528 15529 * wtf/Platform.h 15530 * wtf/text/WTFString.h: 15531 155322012-09-05 Gabor Rapcsanyi <rgabor@webkit.org> 15533 15534 DFG JIT doesn't work properly on ARM hardfp 15535 https://bugs.webkit.org/show_bug.cgi?id=95684 15536 15537 Reviewed by Filip Pizlo. 15538 15539 Add hardfp support to DFG JIT. The patch is created with the 15540 help of Zoltan Herczeg. 15541 15542 * wtf/Platform.h: 15543 155442012-09-04 Zoltan Horvath <zoltan@webkit.org> 15545 15546 Extend the coverage of the Custom Allocation Framework in WTF and in JavaScriptCore 15547 https://bugs.webkit.org/show_bug.cgi?id=95737 15548 15549 Reviewed by Eric Seidel. 15550 15551 Add WTF_MAKE_FAST_ALLOCATED macro to the following class declarations because these are instantiated by operator new. 15552 15553 * wtf/CryptographicallyRandomNumber.cpp: CryptographicallyRandomNumber is instantiated at wtf/CryptographicallyRandomNumber.cpp:162. 15554 * wtf/MediaTime.h: MediaTime is instantiated at wtf/MediaTime.cpp:288. 15555 * wtf/MetaAllocator.h: 15556 (MetaAllocatorTracker): MetaAllocatorTracker is instantiated at JavaScriptCore/tools/CodeProfiling.cpp:120. 15557 * wtf/ThreadingPthreads.cpp: 15558 (PthreadState): PthreadState is instantiated at wtf/ThreadingPthreads.cpp:165. 15559 * wtf/text/AtomicString.cpp: 15560 (AtomicStringTable): AtomicStringTable is instantiated at wtf/text/AtomicString.cpp:43. 15561 155622012-09-01 Mark Lam <mark.lam@apple.com> 15563 15564 LLInt C loop backend. 15565 https://bugs.webkit.org/show_bug.cgi?id=91052. 15566 15567 Reviewed by Filip Pizlo. 15568 15569 Added configs for the llint C loop backend. 15570 15571 * wtf/Platform.h: 15572 155732012-08-31 Pratik Solanki <psolanki@apple.com> 15574 15575 objc_msgSend and IMP should be cast appropriately before using 15576 https://bugs.webkit.org/show_bug.cgi?id=95242 15577 15578 Reviewed by Benjamin Poulain. 15579 15580 Fix for older compilers. Pass id as the return type to the template 15581 instead of relying on default type. 15582 15583 * wtf/Functional.h: 15584 (WTF::R): 15585 * wtf/ObjcRuntimeExtras.h: 15586 155872012-08-31 Michael Saboff <msaboff@apple.com> 15588 15589 CSS Parser should directly parse 8 bit source strings 15590 https://bugs.webkit.org/show_bug.cgi?id=95207 15591 15592 Reviewed by Geoffrey Garen. 15593 15594 * wtf/text/StringImpl.h: 15595 (WTF::equalIgnoringCase): Added (const char*, const LChar*, unsigned) flavor to support 15596 8 bit CSS parser work. 15597 155982012-08-30 Benjamin Poulain <bpoulain@apple.com> 15599 15600 AtomicString(ASCIILiteral) should not compile 15601 https://bugs.webkit.org/show_bug.cgi?id=95413 15602 15603 Reviewed by Adam Barth. 15604 15605 * wtf/text/AtomicString.h: 15606 (AtomicString): Declare the constructor from ASCIILiteral private to ensure it is 15607 not used by accident. 15608 156092012-08-30 Benjamin Poulain <bpoulain@apple.com> 15610 15611 Ambiguous operator[] after r127191 on some compiler 15612 https://bugs.webkit.org/show_bug.cgi?id=95509 15613 15614 Reviewed by Simon Fraser. 15615 15616 * wtf/text/WTFString.h: 15617 (WTF::String::characterAt): At this as a synonym to operator[] to attempt a build fix. 15618 156192012-08-30 Mark Lam <mark.lam@apple.com> 15620 15621 Render unto #ifdef's that which belong to them. 15622 https://bugs.webkit.org/show_bug.cgi?id=95482. 15623 15624 Reviewed by Filip Pizlo. 15625 15626 * wtf/Platform.h: Added ENABLE(COMPUTED_GOTO_OPCODES). 15627 156282012-08-30 Pratik Solanki <psolanki@apple.com> 15629 15630 objc_msgSend and IMP should be cast appropriately before using 15631 https://bugs.webkit.org/show_bug.cgi?id=95242 15632 15633 Reviewed by Benjamin Poulain. 15634 15635 Add new templates wtfObjcMsgSend and wtfCallIMP that do the appropriate 15636 casts to correctly typed function pointers before calling objc_msgSend 15637 and IMP methods directly. 15638 15639 * wtf/Functional.h: 15640 (WTF::R): Use wtfObjcMsgSend. 15641 * wtf/ObjcRuntimeExtras.h: Added. 15642 (wtfObjcMsgSend): 15643 (wtfCallIMP): 15644 156452012-08-30 Benjamin Poulain <bpoulain@apple.com> 15646 15647 Replace JSC::UString by WTF::String 15648 https://bugs.webkit.org/show_bug.cgi?id=95271 15649 15650 Reviewed by Geoffrey Garen. 15651 15652 * wtf/Platform.h: Useless edit to force a full build. This is needed for some bots for some reason. 15653 * wtf/text/WTFString.h: Export a symbol that was exported on UString and needed in WebCore. 15654 15655 Add String::getCharactersWithUpconvert<>(), which is similar to String::getCharacters<>() but with the same 15656 behaviors as UString::getCharacters<>(). 15657 15658 String::getCharactersWithUpconvert<>() is useful when manipulating multiple strings, it allow writting code 15659 using 16bits characters if any of the input String is not 8bit. 15660 156612012-08-30 Yong Li <yoli@rim.com> 15662 15663 Vector::shrinkToFit should use realloc when suitable. 15664 https://bugs.webkit.org/show_bug.cgi?id=94810 15665 15666 Reviewed by Benjamin Poulain. 15667 15668 Only tested on BlackBerry. So it is wrapped with PLATFORM(BLACKBERRY) in the mean time. 15669 Use realloc to shrink buffer when inline buffer isn't involved and and canMoveWithMemcpy is true. 15670 15671 When running the test code attached to the bug, it gives 30-45% performance boost for the large blocks 15672 (Every test cycle includes an extra pair of malloc/free, so the boost on shrinkToFit() is even bigger) 15673 Performance impact on small blocks is not noticeable. (Tested on BlackBerry) 15674 15675 * wtf/Vector.h: 15676 (WTF::VectorBufferBase::shouldReallocateBuffer): 15677 (VectorBufferBase): 15678 (WTF::VectorBufferBase::reallocateBuffer): 15679 (VectorBuffer): 15680 (WTF::VectorBuffer::shouldReallocateBuffer): 15681 (WTF::VectorBuffer::reallocateBuffer): 15682 (WTF::VectorBuffer::inlineBuffer): 15683 (WTF::::shrinkCapacity): 15684 156852012-08-30 Patrick Gansterer <paroga@webkit.org> 15686 15687 Build fix for COMPILER(MSVC) && !CPU(X86) after r127001. 15688 15689 * wtf/MathExtras.h: 15690 (lrint): Added additional parentheses to silence compiler warning. 15691 156922012-08-29 Benjamin Poulain <bpoulain@apple.com> 15693 15694 REGRESSION(r126780): Crash using StringImpl::is8Bit before checking if there is an impl 15695 https://bugs.webkit.org/show_bug.cgi?id=95380 15696 15697 Reviewed by Michael Saboff. 15698 15699 Blindly copying code from UString in r126780 was stupid. I just brought over a bug. 15700 This patch adds the zero length branch back so that null strings are handled correctly. 15701 15702 * wtf/text/WTFString.cpp: 15703 (WTF::String::ascii): Return a empty CString if the String is null or empty. 15704 157052012-08-29 Dominik Röttsches <dominik.rottsches@intel.com> 15706 15707 The 2d.imageData.object.round canvas test is failing 15708 https://bugs.webkit.org/show_bug.cgi?id=40272 15709 15710 Reviewed by Benjamin Poulain. 15711 15712 Updating previous patch to address Benjamin's comments. 15713 #ifdef in Uint8ClampedArray removed, fallback implementation for MSVC on non-X86 added. 15714 15715 * wtf/MathExtras.h: 15716 (lrint): Fallback implementation for non-X86 & MSVC case. 15717 * wtf/Uint8ClampedArray.h: Removed #ifdef. 15718 157192012-08-28 Sheriff Bot <webkit.review.bot@gmail.com> 15720 15721 Unreviewed, rolling out r126914. 15722 http://trac.webkit.org/changeset/126914 15723 https://bugs.webkit.org/show_bug.cgi?id=95239 15724 15725 it breaks everything and fixes nothing (Requested by pizlo on 15726 #webkit). 15727 15728 * wtf/HashCountedSet.h: 15729 (WTF::::add): 15730 (WTF::::remove): 15731 (WTF::copyToVector): 15732 * wtf/HashIterators.h: 15733 (WTF::HashTableConstKeysIterator::get): 15734 (WTF::HashTableConstValuesIterator::get): 15735 (WTF::HashTableKeysIterator::get): 15736 (WTF::HashTableValuesIterator::get): 15737 * wtf/HashMap.h: 15738 (WTF::KeyValuePairKeyExtractor::extract): 15739 (WTF::HashMapValueTraits::isEmptyValue): 15740 (WTF::HashMapTranslator::translate): 15741 (WTF::HashMapTranslatorAdapter::translate): 15742 (WTF::::set): 15743 (WTF::::get): 15744 (WTF::::take): 15745 (WTF::operator==): 15746 (WTF): 15747 (WTF::deleteAllPairSeconds): 15748 (WTF::deleteAllValues): 15749 (WTF::deleteAllPairFirsts): 15750 (WTF::deleteAllKeys): 15751 * wtf/HashTable.h: 15752 (WTF::hashTableSwap): 15753 (WTF::::checkTableConsistencyExceptSize): 15754 * wtf/HashTraits.h: 15755 (WTF::KeyValuePair::KeyValuePair): 15756 (KeyValuePair): 15757 (WTF::KeyValuePairHashTraits::constructDeletedValue): 15758 (WTF::KeyValuePairHashTraits::isDeletedValue): 15759 * wtf/MetaAllocator.cpp: 15760 (WTF::MetaAllocator::addFreeSpace): 15761 (WTF::MetaAllocator::incrementPageOccupancy): 15762 (WTF::MetaAllocator::decrementPageOccupancy): 15763 * wtf/RefCountedLeakCounter.cpp: 15764 (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): 15765 * wtf/RefPtrHashMap.h: 15766 (WTF::::set): 15767 (WTF::::get): 15768 (WTF::::inlineGet): 15769 (WTF::::take): 15770 * wtf/Spectrum.h: 15771 (WTF::Spectrum::add): 15772 (WTF::Spectrum::get): 15773 (WTF::Spectrum::buildList): 15774 * wtf/ThreadingPthreads.cpp: 15775 (WTF::identifierByPthreadHandle): 15776 157772012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 15778 15779 Rename first/second to key/value in HashMap iterators 15780 https://bugs.webkit.org/show_bug.cgi?id=82784 15781 15782 Reviewed by Eric Seidel. 15783 15784 * wtf/HashCountedSet.h: 15785 (WTF::::add): 15786 (WTF::::remove): 15787 (WTF::copyToVector): 15788 * wtf/HashIterators.h: 15789 (WTF::HashTableConstKeysIterator::get): 15790 (WTF::HashTableConstValuesIterator::get): 15791 (WTF::HashTableKeysIterator::get): 15792 (WTF::HashTableValuesIterator::get): 15793 * wtf/HashMap.h: 15794 (WTF::KeyValuePairKeyExtractor::extract): 15795 (WTF::HashMapValueTraits::isEmptyValue): 15796 (WTF::HashMapTranslator::translate): 15797 (WTF::HashMapTranslatorAdapter::translate): 15798 (WTF::::set): 15799 (WTF::::get): 15800 (WTF::::take): 15801 (WTF::operator==): 15802 (WTF::deleteAllValues): 15803 (WTF::deleteAllKeys): 15804 Remove deleteAllPairFirsts/Seconds. 15805 15806 * wtf/HashTable.h: 15807 (WTF::hashTableSwap): 15808 (WTF::::checkTableConsistencyExceptSize): 15809 * wtf/HashTraits.h: 15810 (WTF::KeyValuePair::KeyValuePair): 15811 (KeyValuePair): 15812 (WTF::KeyValuePairHashTraits::constructDeletedValue): 15813 (WTF::KeyValuePairHashTraits::isDeletedValue): 15814 * wtf/MetaAllocator.cpp: 15815 (WTF::MetaAllocator::addFreeSpace): 15816 (WTF::MetaAllocator::incrementPageOccupancy): 15817 (WTF::MetaAllocator::decrementPageOccupancy): 15818 * wtf/RefCountedLeakCounter.cpp: 15819 (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): 15820 * wtf/RefPtrHashMap.h: 15821 (WTF::::set): 15822 (WTF::::get): 15823 (WTF::::inlineGet): 15824 (WTF::::take): 15825 * wtf/Spectrum.h: 15826 (WTF::Spectrum::add): 15827 (WTF::Spectrum::get): 15828 (WTF::Spectrum::buildList): 15829 * wtf/ThreadingPthreads.cpp: 15830 (WTF::identifierByPthreadHandle): 15831 158322012-08-27 Sheriff Bot <webkit.review.bot@gmail.com> 15833 15834 Unreviewed, rolling out r126836. 15835 http://trac.webkit.org/changeset/126836 15836 https://bugs.webkit.org/show_bug.cgi?id=95163 15837 15838 Broke all Apple ports, EFL, and Qt. (Requested by tkent on 15839 #webkit). 15840 15841 * wtf/HashCountedSet.h: 15842 (WTF::::add): 15843 (WTF::::remove): 15844 (WTF::copyToVector): 15845 * wtf/HashIterators.h: 15846 (WTF::HashTableConstKeysIterator::get): 15847 (WTF::HashTableConstValuesIterator::get): 15848 (WTF::HashTableValuesIterator::get): 15849 * wtf/HashMap.h: 15850 (WTF::KeyValuePairKeyExtractor::extract): 15851 (WTF::HashMapValueTraits::isEmptyValue): 15852 (WTF::HashMapTranslator::translate): 15853 (WTF::HashMapTranslatorAdapter::translate): 15854 (WTF::::set): 15855 (WTF::::get): 15856 (WTF::::take): 15857 (WTF::operator==): 15858 (WTF): 15859 (WTF::deleteAllPairSeconds): 15860 (WTF::deleteAllValues): 15861 (WTF::deleteAllPairFirsts): 15862 (WTF::deleteAllKeys): 15863 * wtf/HashTable.h: 15864 (WTF::hashTableSwap): 15865 (WTF::::checkTableConsistencyExceptSize): 15866 * wtf/HashTraits.h: 15867 (WTF::KeyValuePair::KeyValuePair): 15868 (KeyValuePair): 15869 (WTF::KeyValuePairHashTraits::constructDeletedValue): 15870 (WTF::KeyValuePairHashTraits::isDeletedValue): 15871 * wtf/MetaAllocator.cpp: 15872 (WTF::MetaAllocator::addFreeSpace): 15873 (WTF::MetaAllocator::incrementPageOccupancy): 15874 (WTF::MetaAllocator::decrementPageOccupancy): 15875 * wtf/RefCountedLeakCounter.cpp: 15876 (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): 15877 * wtf/RefPtrHashMap.h: 15878 (WTF::::set): 15879 (WTF::::get): 15880 (WTF::::inlineGet): 15881 (WTF::::take): 15882 * wtf/Spectrum.h: 15883 (WTF::Spectrum::add): 15884 (WTF::Spectrum::get): 15885 (WTF::Spectrum::buildList): 15886 * wtf/ThreadingPthreads.cpp: 15887 (WTF::identifierByPthreadHandle): 15888 158892012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 15890 15891 Rename first/second to key/value in HashMap iterators 15892 https://bugs.webkit.org/show_bug.cgi?id=82784 15893 15894 Reviewed by Eric Seidel. 15895 15896 * wtf/HashCountedSet.h: 15897 (WTF::::add): 15898 (WTF::::remove): 15899 (WTF::copyToVector): 15900 * wtf/HashIterators.h: 15901 (WTF::HashTableConstKeysIterator::get): 15902 (WTF::HashTableConstValuesIterator::get): 15903 (WTF::HashTableValuesIterator::get): 15904 * wtf/HashMap.h: 15905 (WTF::KeyValuePairKeyExtractor::extract): 15906 (WTF::HashMapValueTraits::isEmptyValue): 15907 (WTF::HashMapTranslator::translate): 15908 (WTF::HashMapTranslatorAdapter::translate): 15909 (WTF::::set): 15910 (WTF::::get): 15911 (WTF::::take): 15912 (WTF::operator==): 15913 (WTF::deleteAllValues): 15914 (WTF::deleteAllKeys): 15915 Remove deleteAllPairFirsts/Seconds. 15916 15917 * wtf/HashTable.h: 15918 (WTF::hashTableSwap): 15919 (WTF::::checkTableConsistencyExceptSize): 15920 * wtf/HashTraits.h: 15921 (WTF::KeyValuePair::KeyValuePair): 15922 (KeyValuePair): 15923 (WTF::KeyValuePairHashTraits::constructDeletedValue): 15924 (WTF::KeyValuePairHashTraits::isDeletedValue): 15925 * wtf/MetaAllocator.cpp: 15926 (WTF::MetaAllocator::addFreeSpace): 15927 (WTF::MetaAllocator::incrementPageOccupancy): 15928 (WTF::MetaAllocator::decrementPageOccupancy): 15929 * wtf/RefCountedLeakCounter.cpp: 15930 (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): 15931 * wtf/RefPtrHashMap.h: 15932 (WTF::::set): 15933 (WTF::::get): 15934 (WTF::::inlineGet): 15935 (WTF::::take): 15936 * wtf/Spectrum.h: 15937 (WTF::Spectrum::add): 15938 (WTF::Spectrum::get): 15939 (WTF::Spectrum::buildList): 15940 * wtf/ThreadingPthreads.cpp: 15941 (WTF::identifierByPthreadHandle): 15942 159432012-08-27 Benjamin Poulain <benjamin@webkit.org> 15944 15945 Add ECMAScript Number to String conversion to WTF::String 15946 https://bugs.webkit.org/show_bug.cgi?id=95016 15947 15948 Reviewed by Geoffrey Garen. 15949 15950 * wtf/text/WTFString.cpp: 15951 (WTF::String::numberToStringECMAScript): 15952 * wtf/text/WTFString.h: 15953 Add the implementation of numberToStringECMAScript(double) from UString to String. 15954 This will make it easier to replace UString in the future. 15955 159562012-08-27 Benjamin Poulain <benjamin@webkit.org> 15957 15958 Even up WTF::String to CString functions 15959 https://bugs.webkit.org/show_bug.cgi?id=95008 15960 15961 Reviewed by Sam Weinig. 15962 15963 Apply advantages from UString to WTF::String. 15964 15965 * wtf/text/WTFString.cpp: 15966 (WTF::String::ascii): There is no need to special case the null length, both 15967 following branches use CString::newUninitialized(), which create empty string 15968 for null length. 15969 (WTF::String::latin1): Use characters16() instead of characters() to avoid 15970 testing is8Bit() a second time. 15971 159722012-08-24 Benjamin Poulain <benjamin@webkit.org> 15973 15974 Touch Platform.h to solve a build dependency issue 15975 15976 Unreviewed. 15977 15978 * wtf/Platform.h: 15979 159802012-08-24 Benjamin Poulain <bpoulain@apple.com> 15981 15982 Unify Number to StringImpl conversion 15983 https://bugs.webkit.org/show_bug.cgi?id=94879 15984 15985 Reviewed by Geoffrey Garen. 15986 15987 Previously, UString::number() and String::number() used different implementations. 15988 15989 WTF::String::number() was simply forwarding to String::format(). 15990 UString::number() had an optimized version of the conversion. 15991 15992 This patch replace both implementation by a new version, faster than the two previous versions. 15993 15994 The new functions numberToStringImpl improvements are: 15995 -about 3 times faster than String::number(). 15996 -14% faster than UString::number() on signed numbers. 15997 -9% faster than UString::number() on unsigned numbers. 15998 15999 * GNUmakefile.list.am: 16000 * WTF.gypi: 16001 * WTF.pro: 16002 * WTF.vcproj/WTF.vcproj: 16003 * WTF.xcodeproj/project.pbxproj: 16004 * wtf/CMakeLists.txt: 16005 * wtf/text/IntegerToStringConversion.cpp: Added. 16006 (WTF::numberToStringImplSigned): 16007 (WTF::numberToStringImpl): 16008 (WTF::numberToStringImplUnsigned): 16009 * wtf/text/IntegerToStringConversion.h: Added. 16010 * wtf/text/WTFString.cpp: 16011 (WTF::String::format): 16012 * wtf/text/WTFString.h: 16013 (WTF::String::number): 16014 160152012-08-24 Andras Becsi <andras.becsi@nokia.com> 16016 16017 [Qt] Be more explicit about the ICU dependency in the error message 16018 16019 Rubber-stamped by Simon Hausmann. 16020 16021 When building QtWebKit with a Qt5 which was not configured with libICU support 16022 the error message is somewhat ambiguous about the indirect dependency. 16023 16024 * WTF.pri: 16025 160262012-08-23 Julien Chaffraix <jchaffraix@webkit.org> 16027 16028 [Chromium] Enable AtomicString && CString && WTFString && StringImpl unit tests 16029 https://bugs.webkit.org/show_bug.cgi?id=94871 16030 16031 Reviewed by Benjamin Poulain. 16032 16033 * wtf/PassRefPtr.h: 16034 We need to include Assertions.h due to the COMPILE_ASSERT added in r89283. 16035 This matches other files in WTF though I am not sure why Chromium is the only 16036 platform complaining about that. 16037 160382012-08-23 Mark Rowe <mrowe@apple.com> 16039 16040 Build fix for old, old versions of Clang. 16041 16042 * wtf/FastMalloc.cpp: 16043 (WTF): Rejigger things so that they parse correctly if __has_warning isn't defined. 16044 160452012-08-23 Emil A Eklund <eae@chromium.org> 16046 16047 Add saturation arithmetic support to FractionalLayoutUnit 16048 https://bugs.webkit.org/show_bug.cgi?id=94364 16049 16050 Reviewed by Benjamin Poulain. 16051 16052 Add support functions for saturated addition and subtraction. 16053 16054 Test: TestWebKitAPI/Tests/WTF/SaturatedArithmeticOperations.cpp 16055 16056 * GNUmakefile.list.am: 16057 * WTF.gypi: 16058 * WTF.pro: 16059 * WTF.vcproj/WTF.vcproj: 16060 * WTF.xcodeproj/project.pbxproj: 16061 * WTF/wtf/CMakeLists.txt: 16062 Add SaturatedArithmetic.h to build files. 16063 16064 * wtf/SaturatedArithmetic.h: Added. 16065 (saturatedAddition): 16066 (saturatedSubtraction): 16067 Support functions for saturated addition/subtraction. Compares the signed 16068 bit of the values instead of using range checks to reduce branching. 16069 16070 * wtf/Platform.h: 16071 Add ENABLE_SATURATED_LAYOUT_ARITHMETIC flag. 16072 160732012-08-23 Mark Rowe <mrowe@apple.com> 16074 16075 Roll back in the part of r126475 that I had rolled out. 16076 16077 * wtf/FastMalloc.cpp: 16078 (WTF): Disable the -Wunused-private-field warning around the declaration of 16079 TCMalloc_Central_FreeListPadded since the padding is intentionally unused. 16080 Only disable the warning if we detect it is enabled, since the warning may not 16081 be supported by the version of Clang that is being used. 16082 160832012-08-23 Mark Rowe <mrowe@apple.com> 16084 16085 Roll out part of r126475 that breaks the build with older versions of Clang. 16086 16087 * wtf/FastMalloc.cpp: 16088 160892012-08-23 Mark Rowe <mrowe@apple.com> 16090 16091 Make WTF build with the latest version of clang. 16092 16093 Reviewed by Dan Bernstein. 16094 16095 * wtf/FastMalloc.cpp: 16096 (WTF): Disable the -Wunused-private-field warning around the declaration of 16097 TCMalloc_Central_FreeListPadded since the padding is intentionally unused. 16098 (WTF::AdminRegionRecorder): Remove the unused m_reader member. 16099 (WTF::FastMallocZone::enumerate): Don't pass in the RemoteMemoryReader since 16100 it is no longer needed. 16101 161022012-08-22 Geoffrey Garen <ggaren@apple.com> 16103 16104 Fixed a fastMallocForbid/Allow compile error for some compilers 16105 https://bugs.webkit.org/show_bug.cgi?id=94775 16106 16107 Reviewed by Gavin Barraclough. 16108 16109 * wtf/FastMalloc.h: 16110 (WTF::fastMallocForbid()): 16111 (WTF::fastMallocAllow()): Export, since these are called by JavaScriptCore. 16112 161132012-08-22 Geoffrey Garen <ggaren@apple.com> 16114 16115 ThreadRestrictionVerifier should be opt-in, not opt-out 16116 https://bugs.webkit.org/show_bug.cgi?id=94761 16117 16118 Reviewed by Mark Hahnenberg. 16119 16120 WebKit's JavaScript engine supports use on multiple threads, so default-on 16121 is not appropriate for most of our objects, and it causes lots of suprious 16122 assertions. 16123 16124 * wtf/MetaAllocator.cpp: 16125 (WTF::MetaAllocatorHandle::MetaAllocatorHandle): No need to turn off 16126 explicitly, since it's off by default now. 16127 16128 * wtf/ThreadRestrictionVerifier.h: 16129 (WTF::ThreadRestrictionVerifier::ThreadRestrictionVerifier): Turn off by default. 16130 16131 (WTF::ThreadRestrictionVerifier::setMutexMode): 16132 (WTF::ThreadRestrictionVerifier::setDispatchQueueMode): 16133 (WTF::ThreadRestrictionVerifier::turnOffVerification): These assertions 16134 about state transitions were inconsistent with each other, and impossible 16135 to maintain with default off, so I removed them. 16136 161372012-08-22 Allan Sandfeld Jensen <allan.jensen@nokia.com> 16138 16139 [Qt] Optionally support smooth-scrolling on all platforms 16140 https://bugs.webkit.org/show_bug.cgi?id=74926 16141 16142 Reviewed by Simon Hausmann. 16143 16144 Initialize GESTURE_ANIMATION feature flag. 16145 16146 * wtf/Platform.h: 16147 161482012-08-21 Mark Hahnenberg <mhahnenberg@apple.com> 16149 16150 WTF Threading leaks kernel objects on platforms that use pthreads 16151 https://bugs.webkit.org/show_bug.cgi?id=94636 16152 16153 Reviewed by Geoffrey Garen. 16154 16155 Creating lots of Web workers on Mac platforms leaks lots of Mach ports. Eventually, the 16156 process can exhaust its allocation of Mach ports from the kernel, which can then cause 16157 all sorts of badness, including the inability to allocate new virtual memory from the 16158 kernel. ThreadingPthreads.cpp and ThreadIdentifierDataPthreads.cpp need to be refactored 16159 so that we do not leak these kernel resources. I would assume that we also leak kernel 16160 resources on other pthreads platforms as well. 16161 16162 * wtf/ThreadIdentifierDataPthreads.cpp: 16163 (WTF): 16164 (WTF::ThreadIdentifierData::~ThreadIdentifierData): Now calls the event threadDidExit, which 16165 handles all relevant tear-down of the thread metadata in the thread map. 16166 * wtf/ThreadingPthreads.cpp: Added a new class called PthreadState that encapsulates the 16167 state of a thread and the possible transitions between those states. 16168 (PthreadState): 16169 (WTF::PthreadState::PthreadState): 16170 (WTF::PthreadState::joinableState): Returns the current state of the pthread. 16171 (WTF::PthreadState::pthreadHandle): Returns the pthread_t for this particular thread. This needs to 16172 remain valid even after the thread has exited because somebody could come along at any time in the 16173 future and call join on the thread. 16174 (WTF::PthreadState::didBecomeDetached): Signals that the thread was detached. 16175 (WTF::PthreadState::didExit): Signals that the thread's exit destructor (~ThreadIdentifierData) has run. 16176 (WTF::PthreadState::didJoin): Signals that the thread has been joined on successfully. 16177 (WTF::PthreadState::hasExited): Returns whether or not the thread's exit destructor has run. 16178 (WTF): 16179 (WTF::identifierByPthreadHandle): Changed to also check hasExited() on the threads it finds in the map. We 16180 should only have one valid pthread_t in the map, but there are other pthread_t's that need to remain in the 16181 thread map for when somebody joins on that thread id later. 16182 (WTF::establishIdentifierForPthreadHandle): Changed to put the allocate the new PthreadState data structure and 16183 put it in the map. 16184 (WTF::pthreadHandleForIdentifierWithLockAlreadyHeld): 16185 (WTF::wtfThreadEntryPoint): 16186 (WTF::waitForThreadCompletion): We now do the relevant cleanup after the specified thread has been 16187 successfully joined on depending on if the joined thread has already exited. 16188 (WTF::detachThread): Performs relevant cleanup if the thread has already exited. Otherwise signals to the 16189 PthreadState that the thread has been detached. 16190 (WTF::threadDidExit): Function called by ~ThreadIdentifierData to indicate that the thread has exited. 16191 Only cleans up after itself if the thread isn't Joinable (i.e. Joined or Detached). 16192 161932012-08-21 Ulan Degenbaev <ulan@chromium.org> 16194 16195 Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer constructed and destructed 16196 https://bugs.webkit.org/show_bug.cgi?id=92993 16197 16198 Reviewed by Kenneth Russell. 16199 16200 Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer 16201 is constructed and destructed so that V8's garbage collection 16202 heuristics can account for the memory held by these objects. 16203 16204 * wtf/ArrayBuffer.h: 16205 (WTF): 16206 (ArrayBufferDeallocationObserver): 16207 (WTF::ArrayBufferContents::ArrayBufferContents): 16208 (WTF::ArrayBufferContents::transfer): 16209 (ArrayBufferContents): 16210 (ArrayBuffer): 16211 (WTF::ArrayBuffer::setDeallocationObserver): 16212 (WTF::ArrayBufferContents::~ArrayBufferContents): 16213 162142012-08-21 Benjamin Poulain <bpoulain@apple.com> 16215 16216 Store CString data in the CStringBuffer to avoid the double indirection 16217 https://bugs.webkit.org/show_bug.cgi?id=94562 16218 16219 Reviewed by Darin Adler. 16220 16221 Previously, any non-trivial CString would require two allocations: 16222 1) CStringBuffer (ref-counted container for CString's data). 16223 2) VectorBuffer's m_buffer (the actual char data). 16224 16225 This patches changes CStringBuffer to hold the data previously owned by 16226 WTF::Vector and WTF::VectorBuffer. This makes CString more efficient 16227 both in CPU time and memory use. 16228 16229 * wtf/text/CString.cpp: 16230 (WTF::CStringBuffer::createUninitialized): This new method allocate the memory 16231 for CStringBuffer and its data. We simply allocate more memory after CStringBuffer 16232 to hold the data. 16233 16234 The extra memory needed to store the terminating zero is now handled by design. 16235 (WTF::CString::CString): Move the test for "str" one level up the stack from CString::init(). 16236 This avoid double checking the pointer when using the other constructor. 16237 (WTF::CString::init): 16238 (WTF::CString::newUninitialized): 16239 (WTF::CString::copyBufferIfNeeded): 16240 * wtf/text/CString.h: 16241 (WTF::CStringBuffer::data): 16242 (WTF::CStringBuffer::length): 16243 (CStringBuffer): 16244 (WTF::CStringBuffer::CStringBuffer): 16245 (WTF::CStringBuffer::mutableData): 16246 (WTF::CString::length): 16247 162482012-08-21 Patrick Gansterer <paroga@webkit.org> 16249 16250 Build fix for COMPILER(MSVC) && !CPU(X86) after r126023. 16251 16252 * wtf/MathExtras.h: 16253 (lrint): 16254 162552012-08-20 Dominik Röttsches <dominik.rottsches@intel.com> 16256 16257 The 2d.imageData.object.round canvas test is failing 16258 https://bugs.webkit.org/show_bug.cgi?id=40272 16259 16260 Reviewed by Kenneth Rohde Christiansen. 16261 16262 According to the Uint8ClampedArray spec (http://www.khronos.org/registry/typedarray/specs/latest/#7.1) 16263 which references WebIDL's clamping rules, with implications defined in http://www.w3.org/TR/WebIDL/#es-octet 16264 we need to round to nearest integer, and to the even one if exactly halfway in between. 16265 As a solution: applying C99's lrint which, in default rounding mode, does that. 16266 16267 The updated version of test 2d.imageData.object.round.html test passes now. 16268 16269 * wtf/MathExtras.h: 16270 (lrint): Assembly based implementation for MSVC under X86, otherwise falling back to casting. 16271 * wtf/Uint8ClampedArray.h: 16272 (WTF::Uint8ClampedArray::set): lrint instead of simple rounding. 16273 162742012-08-17 Michael Saboff <msaboff@apple.com> 16275 16276 Add ability to create AtomicString using LChar* buffer and length 16277 https://bugs.webkit.org/show_bug.cgi?id=94381 16278 16279 Reviewed by Geoffrey Garen. 16280 16281 Allows the use of 8 bit string data directly without converting to 16 bits first. 16282 16283 * wtf/text/AtomicString.cpp: 16284 (WTF::LCharBufferTranslator::hash): 16285 (LCharBufferTranslator): 16286 (WTF::LCharBufferTranslator::equal): 16287 (WTF::LCharBufferTranslator::translate): 16288 (WTF::AtomicString::add): 16289 * wtf/text/AtomicString.h: 16290 (WTF::AtomicString::AtomicString): 16291 (AtomicString): 16292 * wtf/text/StringImpl.h: 16293 (StringImpl): 16294 162952012-08-17 Benjamin Poulain <bpoulain@apple.com> 16296 16297 Make it easier to append a literal to StringBuilder 16298 https://bugs.webkit.org/show_bug.cgi?id=94273 16299 16300 Reviewed by Kentaro Hara. 16301 16302 * wtf/text/StringBuilder.h: 16303 (WTF::StringBuilder::appendLiteral): Add the method StringBuilder::appendLiteral() for efficiently 16304 adding a string literal to the StringBuilder. 16305 163062012-08-17 Yong Li <yoli@rim.com> 16307 16308 [BlackBerry] Turn on a few macros for jpeg decoding and image interpolation 16309 https://bugs.webkit.org/show_bug.cgi?id=94244 16310 16311 Reviewed by Antonio Gomes. 16312 16313 Turn on these macros to get better performance. 16314 16315 * wtf/Platform.h: 16316 163172012-08-17 Milian Wolff <milian.wolff@kdab.com> 16318 16319 [Qt] QNX build fails due to ctype usage in system headers 16320 https://bugs.webkit.org/show_bug.cgi?id=93849 16321 16322 Reviewed by Simon Hausmann. 16323 16324 Move the check for whether DisallowCType should be active or not 16325 to the DisallowCType.h header. This way, we can update the list 16326 of platforms or OSes which do not work with this header in a 16327 central place. All users can now safely include the header 16328 and do not need to place custom guards around it. 16329 16330 * config.h: 16331 * wtf/DisallowCType.h: 16332 163332012-08-17 Milian Wolff <milian.wolff@kdab.com> 16334 16335 [Qt] QNX build fails due to missing timegm declaration 16336 https://bugs.webkit.org/show_bug.cgi?id=93842 16337 16338 Reviewed by Simon Hausmann. 16339 16340 On QNX, timegm is declared in nbutils.h and one must link against 16341 nbutils to use it. 16342 16343 * WTF.pri: 16344 * wtf/DateMath.cpp: 16345 163462012-08-16 Kent Tamura <tkent@chromium.org> 16347 16348 Build fix for Chromium-mac. 16349 16350 * wtf/text/WTFString.cpp: Remove unnecessary includes. 16351 163522012-08-16 Michael Saboff <msaboff@apple.com> 16353 16354 HTML Parser should produce 8bit substrings for inline style and script elements 16355 https://bugs.webkit.org/show_bug.cgi?id=93742 16356 16357 Reviewed by Benjamin Poulain. 16358 16359 Added 8 bit path to String::isAllSpecialCharacters(). Added new String creator 16360 that takes a pointer to a UChar array that is known to contain only 8 bit 16361 characters (LChar's). Added new helper method to copy contents of a 16362 UChar buffer to a LChar buffer. The helper method includes X86-64 intrinsics 16363 of SSE family instructions for performance. 16364 16365 * wtf/Alignment.h: 16366 (WTF::isAlignedTo): 16367 * wtf/text/ASCIIFastPath.h: 16368 (WTF::copyLCharsFromUCharSource): 16369 * wtf/text/WTFString.cpp: 16370 (WTF::String::make8BitFrom16BitSource): 16371 * wtf/text/WTFString.h: 16372 (String): 16373 (WTF::isAllSpecialCharacters): 16374 (WTF::String::isAllSpecialCharacters): 16375 163762012-08-16 Benjamin Poulain <bpoulain@apple.com> 16377 16378 Use initialization from literals for StringStatics 16379 https://bugs.webkit.org/show_bug.cgi?id=94185 16380 16381 Reviewed by Geoffrey Garen. 16382 16383 * wtf/text/StringStatics.cpp: 16384 Remove the arguments for DEFINE_GLOBAL. They are no longer used by the macro. 16385 (WTF::AtomicString::init): 16386 Use ConstructFromLiteral to initialize the strings faster and to save memory. 16387 163882012-08-14 Milian Wolff <milian.wolff@kdab.com> 16389 16390 [Qt] QNX build fails due to reference to MADV_FREE_REUSE and MADV_FREE_REUSABLE 16391 https://bugs.webkit.org/show_bug.cgi?id=93843 16392 16393 Reviewed by Simon Hausmann. 16394 16395 QNX does not implement MADV_FREE_REUSE nor MADV_FREE_REUSABLE. 16396 The Blackberry port already sets the define to use the system 16397 malloc, which is now also done for QNX in general. 16398 16399 * wtf/Platform.h: 16400 164012012-08-13 Raphael Kubo da Costa <rakuco@webkit.org> 16402 16403 [CMake] Remove glib-related Find modules and write single new one instead. 16404 https://bugs.webkit.org/show_bug.cgi?id=93786 16405 16406 Reviewed by Rob Buis. 16407 16408 * wtf/PlatformEfl.cmake: Use GLIB_* instead of Glib_*, and link directly to GIO, as wtf/gobject uses functions from it. 16409 164102012-08-11 Sam Weinig <sam@webkit.org> 16411 16412 Enable XPC Service based WebProcess with runtime flag 16413 https://bugs.webkit.org/show_bug.cgi?id=93773 16414 16415 Reviewed by Dan Bernstein. 16416 16417 * wtf/Platform.h: 16418 Define HAVE_XPC on 10.7 and later. 16419 164202012-08-11 Benjamin Poulain <bpoulain@apple.com> 16421 16422 Do the DecimalNumber to String conversion on 8 bits 16423 https://bugs.webkit.org/show_bug.cgi?id=93683 16424 16425 Reviewed by Andreas Kling. 16426 16427 Modify DecimalNumber to do the conversion to string on LChar instead of UChar. 16428 16429 * wtf/DecimalNumber.cpp: 16430 (WTF::DecimalNumber::toStringDecimal): 16431 (WTF::DecimalNumber::toStringExponential): 16432 * wtf/DecimalNumber.h: 16433 (DecimalNumber): 16434 * wtf/dtoa.h: 16435 * wtf/text/StringBuffer.h: 16436 (WTF::StringBuffer::operator[]): StringBuffer::operator[] was incorrectly typed to UChar, making 16437 the method impossible to instanciate with LChar. 16438 * wtf/text/WTFString.h: 16439 (String): 16440 (WTF::String::adopt): String::adopt() is modified to work with both LChar and UChar. StringImpl 16441 already support that. 16442 (WTF::appendNumber): Add support for any type that can instanciate the template. 16443 164442012-08-11 Benjamin Poulain <benjamin@webkit.org> 16445 16446 WebCore::findAtomicString(PropertyName) always convert the name to 16bits 16447 https://bugs.webkit.org/show_bug.cgi?id=93685 16448 16449 Reviewed by Geoffrey Garen. 16450 16451 Previously, WebCore::findAtomicString() was causing a conversion for the 8bit property name 16452 to a 16bits due to the call to StringImpl::character16(). 16453 16454 This patch fixes the issue by adding support for both 8bits and 16bits string in AtomicString::find(). 16455 16456 * wtf/text/AtomicString.cpp: 16457 (HashAndCharacters): 16458 (WTF::HashAndCharactersTranslator::hash): 16459 (WTF::HashAndCharactersTranslator::equal): 16460 (WTF::HashAndCharactersTranslator::translate): 16461 Use a template to make the struct and the translator independant of the CharacterType. 16462 16463 (WTF::AtomicString::add): 16464 (WTF::findString): 16465 (WTF::AtomicString::find): Change the API to take a StringImpl*. AtomicString can use 16466 it efficiently to find the right string. 16467 * wtf/text/AtomicString.h: 16468 (AtomicString): 16469 * wtf/text/StringImpl.h: 16470 (StringImpl): Adapt the friends translator to support the template. 16471 164722012-08-10 Benjamin Poulain <bpoulain@apple.com> 16473 16474 Add support for String initialization from literal to WTFString 16475 https://bugs.webkit.org/show_bug.cgi?id=93426 16476 16477 Reviewed by Anders Carlsson. 16478 16479 This patch adds two constructor to WTF::String in order to support fast initialization from literal: 16480 -String(ASCIILiteral): Constructor similar to String(const char*) while being faster. This constructor 16481 does not incur any overhead over String(const char*). 16482 -String(char[], ConstructFromLiteralTag): Template constructor that encode explicitely the size of the 16483 string. 16484 16485 String(ASCIILiteral) is expected to be used in most cases to avoid regressions. This constructor was 16486 added because of what we have learned from r124922: inlining the string length in the code causes a code bloat 16487 that is not always welcome. 16488 16489 Regarding performance of string initialization, the constructors performance are (6 characters string): 16490 -String(ASCIILiteral): 16% faster. 16491 -String(char[], ConstructFromLiteralTag): 33% faster (the delta increases with the string length). 16492 16493 In addition, no memory is allocated for the characters. 16494 16495 * wtf/text/StringImpl.cpp: 16496 * wtf/text/StringImpl.h: 16497 (WTF::StringImpl::createFromLiteral): Extend StringImpl::createFromLiteral to have a version 16498 with strlen() which avoids loading one extra argument. 16499 * wtf/text/WTFString.cpp: 16500 (WTF::String::String): 16501 * wtf/text/WTFString.h: 16502 (WTF::String::String): 16503 (ASCIILiteral): This class is aimed at making the construction of WTFString from a literal very easy. 16504 By using the explicit constructor ASCIILiteral(char *), one can expect the implicit conversion to String 16505 when needed. 16506 (WTF::ASCIILiteral::ASCIILiteral): 16507 (WTF::ASCIILiteral::operator const char*): 16508 165092012-08-08 Benjamin Poulain <bpoulain@apple.com> 16510 16511 Use char* instead of LChar* for the public interface of String construction from literals 16512 https://bugs.webkit.org/show_bug.cgi?id=93402 16513 16514 Reviewed by Michael Saboff. 16515 16516 When the initialization from literal was added, some constructor/initialization function were 16517 using LChar for convenience. 16518 16519 Since those function should only take ASCII characters, using LChar* could cause confusion. This 16520 patch intents to clarify this by using char* for all those APIs. 16521 16522 * wtf/text/AtomicString.cpp: 16523 (WTF::CharBufferFromLiteralDataTranslator::hash): 16524 (WTF::CharBufferFromLiteralDataTranslator::equal): 16525 (WTF::CharBufferFromLiteralDataTranslator::translate): 16526 (WTF::AtomicString::addFromLiteralData): 16527 * wtf/text/AtomicString.h: 16528 (WTF::AtomicString::AtomicString): 16529 (AtomicString): 16530 * wtf/text/StringImpl.cpp: 16531 (WTF::StringImpl::createFromLiteral): 16532 * wtf/text/StringImpl.h: 16533 (StringImpl): 16534 (WTF::StringImpl::StringImpl): 16535 (WTF::StringImpl::createFromLiteral): 16536 165372012-08-08 Patrick Gansterer <paroga@webkit.org> 16538 16539 Remove ce_time.(cpp|h) from list of source files 16540 https://bugs.webkit.org/show_bug.cgi?id=93446 16541 16542 Reviewed by Simon Hausmann. 16543 16544 r125004 removed the last dependency on functions defined in ce_time.cpp. 16545 16546 * wtf/PlatformWinCE.cmake: 16547 165482012-08-08 Alvaro Lopez Ortega <alvaro@alobbs.com> 16549 16550 Atomics.h has incorrect GCC test for ext/atomicity.h when using LSB compilers 16551 https://bugs.webkit.org/show_bug.cgi?id=51974 16552 16553 Reviewed by Simon Hausmann. 16554 16555 * wtf/Atomics.h: Inhibits the inclusion of the atomicity.h GNU C++ 16556 extension when compiling with a LSB compliant compiler. Thanks to 16557 Craig Scott for the new precompiler check code. 16558 165592012-08-07 Yoshifumi Inoue <yosin@chromium.org> 16560 16561 [WTF] Add using WTF::msPerHour into DateMath.h 16562 https://bugs.webkit.org/show_bug.cgi?id=93428 16563 16564 Reviewed by Kent Tamura. 16565 16566 This patch adds "using WTF::msPerHour" into DateMath.h for some codes 16567 which will use it, e.g. bug 92960. Note: DateMath.h already has had 16568 using statements for msPerDay, msPerMinute and msPerSecond. 16569 16570 * wtf/DateMath.h: Added "using WTF::msPerHour". 16571 165722012-08-07 Benjamin Poulain <benjamin@webkit.org> 16573 16574 Use the initialization from literal for JSC's Identifiers 16575 https://bugs.webkit.org/show_bug.cgi?id=93193 16576 16577 Reviewed by Geoffrey Garen. 16578 16579 * wtf/text/StringImpl.h: Update the names for the HashTranslator used by Identifier. 16580 165812012-07-19 Simon Hausmann <simon.hausmann@nokia.com> 16582 16583 [Qt] Remove Qt 4 specific code paths 16584 https://bugs.webkit.org/show_bug.cgi?id=88161 16585 16586 Reviewed by Kenneth Rohde Christiansen. 16587 16588 * WTF.pri: 16589 * WTF.pro: 16590 * wtf/qt/StringQt.cpp: 16591 (WTF::String::String): 16592 (WTF::String::operator QString): 16593 * wtf/qt/UtilsQt.h: Removed. 16594 * wtf/qt/compat/QGuiApplication: Removed. 16595 * wtf/qt/compat/qguiapplication.h: Removed. 16596 * wtf/text/StringImpl.cpp: 16597 (WTF::StringImpl::~StringImpl): 16598 (WTF): 16599 * wtf/text/StringImpl.h: 16600 (StringImpl): 16601 166022012-08-06 Patrick Gansterer <paroga@webkit.org> 16603 16604 [WIN] Remove dependency on pthread from MachineStackMarker 16605 https://bugs.webkit.org/show_bug.cgi?id=68429 16606 16607 Reviewed by Geoffrey Garen. 16608 16609 Windows has no support for calling a destructor for thread specific data. 16610 Since we need more control over creating and deleting thread specific keys 16611 we can not simply extend WTF::ThreadSpecific with this functionality. 16612 16613 All thread specific keys created via the new API get stored in a list. 16614 After a thread function finished we iterate over this list and call 16615 the registered destructor for every item if needed. 16616 16617 * wtf/ThreadSpecific.h: 16618 (WTF): 16619 (WTF::threadSpecificKeyCreate): Added wrapper around pthread_key_create. 16620 (WTF::threadSpecificKeyDelete): Added wrapper around pthread_key_delete. 16621 (WTF::threadSpecificSet): Added wrapper around pthread_setspecific. 16622 (WTF::threadSpecificGet): Added wrapper around pthread_getspecific. 16623 * wtf/ThreadSpecificWin.cpp: 16624 166252012-08-04 No'am Rosenthal <noam.rosenthal@nokia.com> 16626 16627 [Qt] UI_SIDE_COMPOSITING code has confusing names 16628 https://bugs.webkit.org/show_bug.cgi?id=93164 16629 16630 Reviewed by Kenneth Rohde Christiansen. 16631 16632 Renamed UI_SIDE_COMPOSITING to COORDINATED_GRAPHICS. 16633 16634 * wtf/Platform.h: 16635 166362012-08-03 Michael Saboff <msaboff@apple.com> 16637 16638 Convert HTML parser to handle 8-bit resources without converting to UChar* 16639 https://bugs.webkit.org/show_bug.cgi?id=90321 16640 16641 Reviewed by Adam Barth. 16642 16643 * wtf/text/WTFString.h: 16644 (WTF::String::dataSize): New method to return the number of bytes 16645 the string requires. This replaces a harcoded calculation based on 16646 length and sizeof(UChar). 16647 166482012-08-03 Benjamin Poulain <benjamin@webkit.org> 16649 16650 StringImpl created from literal should be BufferInternal 16651 https://bugs.webkit.org/show_bug.cgi?id=92940 16652 16653 Reviewed by Anders Carlsson. 16654 16655 The ownership of string created from literal should be BufferInternal so that 16656 StringImpl never tries to delete the characters. 16657 16658 The ownership was accidentaly set to BufferOwned in r123689. 16659 16660 * wtf/text/StringImpl.cpp: 16661 (WTF::StringImpl::createFromLiteral): Update to use the new constructor. 16662 * wtf/text/StringImpl.h: 16663 (WTF::StringImpl::StringImpl): 16664 Add a new constructor making the construction from literal explicit. 16665 Add the flag s_hashFlagHasTerminatingNullCharacter since the data has the terminating 16666 null character. 16667 166682012-08-02 Patrick Gansterer <paroga@webkit.org> 16669 16670 Move getLocalTime() as static inline function to DateMath 16671 https://bugs.webkit.org/show_bug.cgi?id=92955 16672 16673 Reviewed by Ryosuke Niwa. 16674 16675 getCurrentLocalTime() and getLocalTime() has been superseded with the 16676 GregorianDateTime class. So we can move it into DateMath.cpp as an static inline 16677 function. This allows us to remove the dependecy on time() and localtime() 16678 for Windows CE, where this functions require the ce_time library to work. 16679 16680 * wtf/CurrentTime.cpp: 16681 (WTF): 16682 * wtf/CurrentTime.h: 16683 * wtf/DateMath.cpp: 16684 (WTF): 16685 (WTF::getLocalTime): 16686 166872012-08-02 Patrick Gansterer <paroga@webkit.org> 16688 16689 [WINCE] Return 0 at calculateDSTOffset(double, double) 16690 https://bugs.webkit.org/show_bug.cgi?id=92953 16691 16692 Reviewed by Ryosuke Niwa. 16693 16694 localtime() is implemented as a call to gmtime() in ce_time.c. 16695 Since this will never return correct values, returning 0 instead 16696 does not remove any existing functionality, but decreases the 16697 dependency on the (external) ce_time implementation. 16698 16699 * wtf/DateMath.cpp: 16700 (WTF::calculateDSTOffsetSimple): 16701 167022012-08-02 Arnaud Renevier <a.renevier@sisa.samsung.com> 16703 16704 TypedArray set method is slow when called with another typed array 16705 https://bugs.webkit.org/show_bug.cgi?id=92556 16706 16707 Reviewed by Kenneth Russell. 16708 16709 Add an checkInboundData function to TypedArrayBase to check if a 16710 position will be not be out of bound or overflow from the typed array. 16711 16712 * wtf/TypedArrayBase.h: 16713 (WTF::TypedArrayBase::checkInboundData): 16714 (TypedArrayBase): 16715 167162012-08-01 Patrick Gansterer <paroga@webkit.org> 16717 16718 Replace WTF::getCurrentLocalTime() with GregorianDateTime::setToCurrentLocalTime() 16719 https://bugs.webkit.org/show_bug.cgi?id=92286 16720 16721 Reviewed by Geoffrey Garen. 16722 16723 Add a method to GregorianDateTime to set its values to the current locale time. 16724 Replacing all occurrences of getCurrentLocalTime with the new function allows 16725 us to remove getCurrentLocalTime in a next step. 16726 16727 * GNUmakefile.list.am: 16728 * WTF.gypi: 16729 * WTF.pro: 16730 * WTF.vcproj/WTF.vcproj: 16731 * WTF.xcodeproj/project.pbxproj: 16732 * wtf/CMakeLists.txt: 16733 * wtf/DateMath.cpp: 16734 (WTF::dayInYear): 16735 * wtf/DateMath.h: 16736 (WTF): 16737 * wtf/GregorianDateTime.cpp: Added. 16738 (WTF): 16739 (WTF::GregorianDateTime::setToCurrentLocalTime): 16740 * wtf/GregorianDateTime.h: 16741 (GregorianDateTime): 16742 167432012-08-01 Patrick Gansterer <paroga@webkit.org> 16744 16745 Fix FastMalloc build with assertions enabled. 16746 16747 * wtf/FastMalloc.cpp: 16748 (WTF::TCMalloc_PageHeap::isScavengerSuspended): 16749 (WTF::TCMalloc_PageHeap::scheduleScavenger): 16750 (WTF::TCMalloc_PageHeap::suspendScavenger): 16751 167522012-08-01 Patrick Gansterer <paroga@webkit.org> 16753 16754 Export StringImpl::sizeInBytes() with WTF_EXPORT_STRING_API 16755 https://bugs.webkit.org/show_bug.cgi?id=92851 16756 16757 Reviewed by Hajime Morita. 16758 16759 r124069 missed to change one export macro, which is needed 16760 to make the windows port with USE(EXPORT_MACROS). 16761 16762 * wtf/text/StringImpl.h: 16763 (StringImpl): 16764 167652012-08-01 Patrick Gansterer <paroga@webkit.org> 16766 16767 [WIN] Add missing WTF export macros to functions 16768 https://bugs.webkit.org/show_bug.cgi?id=92842 16769 16770 Reviewed by Hajime Morita. 16771 16772 When we switch the windows port to USE(EXPORT_MACROS) we 16773 need to export all functions referenced by WebKit.dll. 16774 16775 * wtf/ThreadingPrimitives.h: 16776 (WTF): 16777 * wtf/dtoa.h: 16778 (WTF): 16779 * wtf/dtoa/double-conversion.h: 16780 (StringToDoubleConverter): 16781 * wtf/unicode/UTF8.h: 16782 167832012-07-31 Sam Weinig <sam@webkit.org> 16784 16785 Stop masking 8 bits off of the visited link hash. We need all the bits! 16786 https://bugs.webkit.org/show_bug.cgi?id=92799 16787 16788 Reviewed by Anders Carlsson. 16789 16790 * wtf/StringHasher.h: 16791 (WTF::StringHasher::hashWithTop8BitsMasked): 16792 (WTF::StringHasher::hash): 16793 (StringHasher): 16794 (WTF::StringHasher::computeHashAndMaskTop8Bits): 16795 (WTF::StringHasher::hashMemory): 16796 (WTF::StringHasher::avalancheBits): 16797 Rename existing computeHash and hash functions to computeHashAndMaskTop8Bits 16798 and hashWithTop8BitsMasked respectively. Add new computeHash and hash functions 16799 that do the StringHash without the masking. 16800 16801 * wtf/text/AtomicString.cpp: 16802 (WTF::CStringTranslator::hash): 16803 (WTF::UCharBufferTranslator::hash): 16804 (WTF::HashAndCharactersTranslator::hash): 16805 (WTF::SubstringTranslator::hash): 16806 (WTF::LCharBufferFromLiteralDataTranslator::hash): 16807 (WTF::AtomicString::fromUTF8Internal): 16808 * wtf/text/StringHash.h: 16809 (WTF::CaseFoldingHash::hash): 16810 * wtf/text/StringImpl.h: 16811 (WTF::StringImpl::setHash): 16812 * wtf/text/StringStatics.cpp: 16813 (WTF::StringImpl::hashSlowCase): 16814 * wtf/unicode/UTF8.cpp: 16815 (WTF::Unicode::calculateStringHashAndLengthFromUTF8MaskingTop8Bits): 16816 * wtf/unicode/UTF8.h: 16817 Update for new function names. 16818 168192012-07-31 Thiago Marcos P. Santos <thiago.santos@intel.com> 16820 16821 Add a mechanism to dump the stack trace in case of a crash 16822 https://bugs.webkit.org/show_bug.cgi?id=92666 16823 16824 Reviewed by Csaba Osztrogonác. 16825 16826 Unix based ports can make use of signal handlers to dump the stack 16827 trace in case of a crash. This is specially handy when a test crashes on 16828 the bot without hitting an assertion, we might have a chance to see 16829 some insightful information at the reports. 16830 16831 * wtf/Assertions.cpp: 16832 * wtf/Assertions.h: 16833 168342012-07-31 Stephen Chenney <schenney@chromium.org> 16835 16836 xmlserializer strips xlink from xlink:html svg image tag 16837 https://bugs.webkit.org/show_bug.cgi?id=79586 16838 16839 Reviewed by Nikolas Zimmermann. 16840 16841 Add WTF::xlinkAtom as a global AtomicString constant. 16842 16843 * wtf/text/AtomicString.h: 16844 (WTF): Add xlinkAtom. 16845 * wtf/text/StringStatics.cpp: 16846 (WTF): Add xlinkAtom. 16847 (WTF::AtomicString::init): Add xlinkAtom. 16848 168492012-07-30 Patrick Gansterer <paroga@webkit.org> 16850 16851 Add WTF_EXPORT_PRIVATE to deleteOwnedPtr() 16852 https://bugs.webkit.org/show_bug.cgi?id=92668 16853 16854 Reviewed by Hajime Morita. 16855 16856 When using export macros all non-inlined deleteOwnedPtr() 16857 functions need to be declared with WTF_EXPORT_PRIVATE. 16858 16859 * wtf/OwnPtrCommon.h: 16860 (WTF): 16861 168622012-07-30 Wei James <james.wei@intel.com> 16863 16864 atomicDecrement() never reach 0 on Android so no deref() will be called 16865 https://bugs.webkit.org/show_bug.cgi?id=92635 16866 16867 Reviewed by Adam Barth. 16868 16869 With Android NDK 7b and later, __atomic_dec() is implemented by 16870 __sync_fetch_and_sub(), which will result in that atomicDecrement() 16871 returns the old value instead of new one. 16872 16873 * wtf/Atomics.h: 16874 (WTF): 16875 (WTF::atomicIncrement): 16876 (WTF::atomicDecrement): 16877 168782012-07-30 Patrick Gansterer <paroga@webkit.org> 16879 16880 Add function to calculate the day in year from a date 16881 https://bugs.webkit.org/show_bug.cgi?id=92671 16882 16883 Reviewed by Ryosuke Niwa. 16884 16885 Replace monthToDayInYear() with dayInYear() which takes a whole 16886 date for calculation and will be used for bug 92286 later. 16887 16888 * wtf/DateMath.cpp: 16889 (WTF::dayInYear): 16890 (WTF::dateToDaysFrom1970): 16891 168922012-07-30 Patrick Gansterer <paroga@webkit.org> 16893 16894 Add special export macro for string related functions 16895 https://bugs.webkit.org/show_bug.cgi?id=92624 16896 16897 Reviewed by Hajime Morita. 16898 16899 The windows port compiles string related code into every binary for performance reasons (see r59187). 16900 Add the WTF_EXPORT_STRING_API define to allow this behaviour with export macros too. 16901 16902 * wtf/ExportMacros.h: 16903 * wtf/text/AtomicString.h: 16904 (AtomicString): 16905 * wtf/text/StringImpl.h: 16906 (StringImpl): 16907 (WTF): 16908 * wtf/text/WTFString.h: 16909 (WTF): 16910 (String): 16911 169122012-07-30 Patrick Gansterer <paroga@webkit.org> 16913 16914 Replace UnicodeWinCE with UnicodeWchar 16915 https://bugs.webkit.org/show_bug.cgi?id=92539 16916 16917 Reviewed by Ryosuke Niwa. 16918 16919 UnicodeWinCE never contained WinCE specific code. UnicodeWchar 16920 is a replacement for it, which is mainly based on the functions 16921 from <wchar.h>. It is ment as a minimal Unicode backend, which 16922 can be used very easy and has no external dependencies. 16923 16924 * WTF.gyp/WTF.gyp: 16925 * WTF.gypi: 16926 * wtf/Platform.h: 16927 * wtf/PlatformWinCE.cmake: 16928 * wtf/unicode/Unicode.h: 16929 * wtf/unicode/wchar/UnicodeWchar.cpp: Added. 16930 (Unicode): 16931 (WTF::Unicode::category): 16932 (WTF::Unicode::combiningClass): 16933 (WTF::Unicode::direction): 16934 (WTF::Unicode::decompositionType): 16935 (WTF::Unicode::hasLineBreakingPropertyComplexContext): 16936 (WTF::Unicode::mirroredChar): 16937 (WTF::Unicode::convertWithFunction): 16938 (WTF::Unicode::foldCase): 16939 (WTF::Unicode::toLower): 16940 (WTF::Unicode::toUpper): 16941 * wtf/unicode/wchar/UnicodeWchar.h: Added. 16942 (Unicode): 16943 (WTF::Unicode::isAlphanumeric): 16944 (WTF::Unicode::isDigit): 16945 (WTF::Unicode::isLetter): 16946 (WTF::Unicode::isLower): 16947 (WTF::Unicode::isPrintableChar): 16948 (WTF::Unicode::isPunct): 16949 (WTF::Unicode::isSpace): 16950 (WTF::Unicode::isUpper): 16951 (WTF::Unicode::isArabicChar): 16952 (WTF::Unicode::isSeparatorSpace): 16953 (WTF::Unicode::foldCase): 16954 (WTF::Unicode::toLower): 16955 (WTF::Unicode::toUpper): 16956 (WTF::Unicode::toTitleCase): 16957 (WTF::Unicode::umemcasecmp): 16958 * wtf/unicode/wince/UnicodeWinCE.cpp: Removed. 16959 * wtf/unicode/wince/UnicodeWinCE.h: Removed. 16960 169612012-07-26 Yury Semikhatsky <yurys@chromium.org> 16962 16963 Web Inspector: move StringImpl size calculation to StringImpl 16964 https://bugs.webkit.org/show_bug.cgi?id=92359 16965 16966 Reviewed by Pavel Feldman. 16967 16968 Moved stringSize(StringImpl*) implementation from InspectorMemoryAgent to 16969 StringImpl::sizeInBytes(); 16970 16971 * wtf/text/StringImpl.cpp: 16972 (WTF::StringImpl::sizeInBytes): 16973 (WTF): 16974 * wtf/text/StringImpl.h: 16975 (StringImpl): 16976 169772012-07-28 Patrick Gansterer <paroga@webkit.org> 16978 16979 [WIN] Add missing export macro to friend decleration. 16980 16981 Since the __declspec is part of the function signature 16982 on windows, we need it at all friend declerations too. 16983 16984 * wtf/MediaTime.h: 16985 169862012-07-28 Patrick Gansterer <paroga@webkit.org> 16987 16988 [CMake] Add missing MediaTime files after r123878. 16989 16990 * wtf/CMakeLists.txt: 16991 169922012-07-28 Patrick Gansterer <paroga@webkit.org> 16993 16994 Remove obsolete functions from WTF::Unicode 16995 https://bugs.webkit.org/show_bug.cgi?id=92571 16996 16997 Reviewed by Kentaro Hara. 16998 16999 Remove hasLineBreakingPropertyComplexContextOrIdeographic() and digitValue(), 17000 since they are never used and defined for a few Unicode backends only. 17001 17002 * wtf/unicode/glib/UnicodeGLib.h: 17003 * wtf/unicode/icu/UnicodeIcu.h: 17004 170052012-07-27 Sheriff Bot <webkit.review.bot@gmail.com> 17006 17007 Unreviewed, rolling out r123679. 17008 http://trac.webkit.org/changeset/123679 17009 https://bugs.webkit.org/show_bug.cgi?id=92565 17010 17011 Slowed down HTML parsing by 3.6% (Requested by abarth on 17012 #webkit). 17013 17014 * wtf/text/WTFString.h: 17015 170162012-07-27 Arnaud Renevier <a.renevier@sisa.samsung.com> 17017 17018 use createUninitialized when creating TypedArray from another array 17019 https://bugs.webkit.org/show_bug.cgi?id=92518 17020 17021 Reviewed by Kenneth Russell. 17022 17023 Expose a createUninitialized static method on TypedArray classes. 17024 17025 * wtf/Float32Array.h: 17026 (Float32Array): 17027 (WTF::Float32Array::createUninitialized): 17028 (WTF): 17029 * wtf/Float64Array.h: 17030 (Float64Array): 17031 (WTF::Float64Array::createUninitialized): 17032 (WTF): 17033 * wtf/Int16Array.h: 17034 (Int16Array): 17035 (WTF::Int16Array::createUninitialized): 17036 (WTF): 17037 * wtf/Int32Array.h: 17038 (Int32Array): 17039 (WTF::Int32Array::createUninitialized): 17040 (WTF): 17041 * wtf/Int8Array.h: 17042 (Int8Array): 17043 (WTF::Int8Array::createUninitialized): 17044 (WTF): 17045 * wtf/Uint16Array.h: 17046 (Uint16Array): 17047 (WTF::Uint16Array::createUninitialized): 17048 (WTF): 17049 * wtf/Uint32Array.h: 17050 (Uint32Array): 17051 (WTF::Uint32Array::createUninitialized): 17052 (WTF): 17053 * wtf/Uint8Array.h: 17054 (Uint8Array): 17055 (WTF::Uint8Array::createUninitialized): 17056 (WTF): 17057 * wtf/Uint8ClampedArray.h: 17058 (Uint8ClampedArray): 17059 170602012-07-27 Patrick Gansterer <paroga@webkit.org> 17061 17062 [WINCE] Use macros from ICU instead of defining the same functionality again 17063 https://bugs.webkit.org/show_bug.cgi?id=92530 17064 17065 Reviewed by Ryosuke Niwa. 17066 17067 Replace isHighSurrogate() with U16_IS_LEAD(), isLowSurrogate() with 17068 U16_IS_TRAIL() and surrogateToUcs4() with U16_GET_SUPPLEMENTARY(). 17069 17070 * wtf/unicode/wince/UnicodeWinCE.h: 17071 170722012-07-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 17073 17074 [Qt] Fix build after r123917 17075 https://bugs.webkit.org/show_bug.cgi?id=92555 17076 17077 Unreviewed. 17078 17079 * wtf/GregorianDateTime.h: Needs string.h for memset(). 17080 170812012-07-27 Paweł Forysiuk <tuxator@o2.pl> 17082 17083 MinGW build fails because of missing header in GregorianDateTime.h 17084 https://bugs.webkit.org/show_bug.cgi?id=92531 17085 17086 * wtf/GregorianDateTime.h: Include time.h 17087 170882012-07-27 Jer Noble <jer.noble@apple.com> 17089 17090 Unreviewed build fix. 17091 17092 Use MathExtras.h and the non std:: versions of isnan and signbit. 17093 17094 * wtf/MediaTime.cpp: 17095 (WTF::MediaTime::createWithFloat): 17096 (WTF::MediaTime::createWithDouble): 17097 170982012-07-27 Jer Noble <jer.noble@apple.com> 17099 17100 Support a rational time class for use by media elements. 17101 https://bugs.webkit.org/show_bug.cgi?id=88787 17102 17103 Reviewed by Eric Carlson. 17104 17105 Add a new MediaTime class which implements rational math operations. 17106 17107 Add common constructors and assignment operators: 17108 * wtf/MediaTime.cpp: Added. 17109 (WTF::MediaTime::MediaTime): 17110 (WTF::MediaTime::~MediaTime): 17111 (WTF::MediaTime::operator=): 17112 17113 Add common math operators: 17114 * wtf/MediaTime.cpp: 17115 (WTF::MediaTime::operator+): 17116 (WTF::MediaTime::operator-): 17117 (WTF::MediaTime::operator<): 17118 (WTF::MediaTime::operator>): 17119 (WTF::MediaTime::operator==): 17120 (WTF::MediaTime::operator>=): 17121 (WTF::MediaTime::operator<=): 17122 17123 Add functions to check the MeiaTime time type flags: 17124 * wtf/MediaTime.h: 17125 (WTF::MediaTime::isValid): 17126 (WTF::MediaTime::isInvalid): 17127 (WTF::MediaTime::hasBeenRounde): 17128 (WTF::MediaTime::isPositiveInfinite): 17129 (WTF::MediaTime::isNegativeInfinite): 17130 (WTF::MediaTime::isIndefinite): 17131 17132 Add constants for commonly used MediaTime values: 17133 (WTF::MediaTime::zeroTime): 17134 (WTF::MediaTime::invalidTime): 17135 (WTF::MediaTime::positiveInfiniteTime): 17136 (WTF::MediaTime::negativeInfiniteTime): 17137 (WTF::MediaTime::indefiniteTime): 17138 17139 Add explicit conversion functions to convert to and from floating point values. 17140 * wtf/MediaTime.cpp: 17141 (WTF::MediaTime::createWithFloat): 17142 (WTF::MediaTime::createWithDouble): 17143 (WTF::MediaTime::toFloat): 17144 (WTF::MediaTime::toDouble): 17145 17146 Add some useful exported functions: 17147 * wtf/MediaTime.cpp: 17148 (WTF::MediaTime::compare): Master function for the comparison operators above. 17149 (WTF::MediaTime::setTimeScale): Rescale the time value to a new time scale. 17150 (WTF::abs): Return an absolute value for the current MediaTime. 17151 17152 Static utility functions to implement the above: 17153 * wtf/MediaTime.cpp: 17154 (WTF::greatestCommonDivisor): 17155 (WTF::leastCommonMultiple): 17156 (WTF::signum): 17157 17158 Windows-only implementations of isinf and signbit: 17159 * wtf/MediaTime.cpp: 17160 (std::isinf): 17161 (std::signbit): 17162 17163 Add the new class to platform build files: 17164 * GNUmakefile.list.am: 17165 * WTF.gypi: 17166 * WTF.pro: 17167 * WTF.vcproj/WTF.vcproj: 17168 * WTF.xcodeproj/project.pbxproj: 17169 171702012-07-27 Wei James <james.wei@intel.com> 17171 17172 set WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED for chromium android 17173 https://bugs.webkit.org/show_bug.cgi?id=91746 17174 17175 Reviewed by Adam Barth. 17176 17177 This patch is part of efforts to enable web audio for chromium android. 17178 Web audio component needs to use atomicIncrement and atomicDecrement, 17179 which are enabled by this MACRO. 17180 17181 As mentioned in https://bugs.webkit.org/show_bug.cgi?id=89428#c19, make 17182 this patch standalone. 17183 17184 * wtf/Atomics.h: 17185 (WTF): 17186 171872012-07-27 Wei James <james.wei@intel.com> 17188 17189 set WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED for chromium android 17190 https://bugs.webkit.org/show_bug.cgi?id=91746 17191 17192 Reviewed by Adam Barth. 17193 17194 This patch is part of efforts to enable web audio for chromium android. 17195 Web audio component needs to use atomicIncrement and atomicDecrement, 17196 which are enabled by this MACRO. 17197 17198 As mentioned in https://bugs.webkit.org/show_bug.cgi?id=89428#c19, make 17199 this patch standalone. 17200 17201 * wtf/Atomics.h: 17202 (WTF): 17203 172042012-07-26 Arnaud Renevier <a.renevier@sisa.samsung.com> 17205 17206 constructing TypedArray from another TypedArray is slow 17207 https://bugs.webkit.org/show_bug.cgi?id=90838 17208 17209 Reviewed by Kenneth Russell. 17210 17211 Introduce virtual method getType on ArrayBufferView. It returns the actual 17212 type of the view. This method replaces previous is<Type>Array() methods. 17213 17214 * wtf/ArrayBufferView.h: 17215 * wtf/Float32Array.h: 17216 (WTF::Float32Array::getType): 17217 (Float32Array): 17218 * wtf/Float64Array.h: 17219 (WTF::Float64Array::getType): 17220 (Float64Array): 17221 * wtf/Int16Array.h: 17222 (WTF::Int16Array::getType): 17223 (Int16Array): 17224 * wtf/Int32Array.h: 17225 (WTF::Int32Array::getType): 17226 (Int32Array): 17227 * wtf/Int8Array.h: 17228 (WTF::Int8Array::getType): 17229 (Int8Array): 17230 * wtf/IntegralTypedArrayBase.h: 17231 * wtf/TypedArrayBase.h: 17232 (TypedArrayBase): 17233 (WTF::TypedArrayBase::item): 17234 * wtf/Uint16Array.h: 17235 (WTF::Uint16Array::getType): 17236 (Uint16Array): 17237 * wtf/Uint32Array.h: 17238 (WTF::Uint32Array::getType): 17239 (Uint32Array): 17240 * wtf/Uint8Array.h: 17241 (WTF::Uint8Array::getType): 17242 (Uint8Array): 17243 * wtf/Uint8ClampedArray.h: 17244 (WTF::Uint8ClampedArray::getType): 17245 (Uint8ClampedArray): 17246 172472012-07-26 Zeno Albisser <zeno@webkit.org> 17248 17249 [Qt] requestAnimationFrame should only trigger when a new frame can be displayed. 17250 https://bugs.webkit.org/show_bug.cgi?id=88638 17251 17252 Disable REQUEST_ANIMATION_FRAME_TIMER for the Qt port and tie 17253 the servicing of scripted animations to layer syncing for WK2. 17254 For WK1 we rely on the RefreshAnimation that is based on QAbstractAnimation. 17255 17256 Reviewed by Jocelyn Turcotte. 17257 17258 * wtf/Platform.h: 17259 172602012-07-26 Yury Semikhatsky <yurys@chromium.org> 17261 17262 Unreviewed. Revert r123740 as it breaks AppleMac compilation. 17263 17264 * wtf/text/StringImpl.cpp: 17265 * wtf/text/StringImpl.h: 17266 172672012-07-26 Yury Semikhatsky <yurys@chromium.org> 17268 17269 Web Inspector: move StringImpl size calculation to StringImpl 17270 https://bugs.webkit.org/show_bug.cgi?id=92359 17271 17272 Reviewed by Pavel Feldman. 17273 17274 Moved stringSize(StringImpl*) implementation from InspectorMemoryAgent to 17275 StringImpl::sizeInBytes(); 17276 17277 * wtf/text/StringImpl.cpp: 17278 (WTF::StringImpl::sizeInBytes): 17279 (WTF): 17280 * wtf/text/StringImpl.h: 17281 (StringImpl): 17282 172832012-07-25 Benjamin Poulain <bpoulain@apple.com> 17284 17285 Initialize QualifiedName's strings from the read only data segment 17286 https://bugs.webkit.org/show_bug.cgi?id=92226 17287 17288 Reviewed by Anders Carlsson. 17289 17290 Add constructors for StringImpl and AtomicString to be able to create 17291 the strings from the literal in read only memory. 17292 17293 * wtf/text/AtomicString.cpp: 17294 (HashTranslatorCharBuffer): 17295 (WTF::LCharBufferFromLiteralDataTranslator::hash): 17296 (LCharBufferFromLiteralDataTranslator): 17297 (WTF::LCharBufferFromLiteralDataTranslator::equal): 17298 (WTF::LCharBufferFromLiteralDataTranslator::translate): 17299 (WTF::AtomicString::addFromLiteralData): 17300 * wtf/text/AtomicString.h: 17301 (WTF::AtomicString::AtomicString): 17302 (AtomicString): 17303 * wtf/text/StringImpl.cpp: 17304 (WTF::StringImpl::createFromLiteral): 17305 * wtf/text/StringImpl.h: 17306 (WTF): 17307 (StringImpl): 17308 (WTF::StringImpl::createFromLiteral): 17309 173102012-07-25 Michael Saboff <msaboff@apple.com> 17311 17312 Convert HTML parser to handle 8-bit resources without converting to UChar* 17313 https://bugs.webkit.org/show_bug.cgi?id=90321 17314 17315 Reviewed by Geoffrey Garen. 17316 17317 * wtf/text/WTFString.h: 17318 (WTF::String::dataSize): New method to return the number of bytes 17319 the string requires. This replaces a harcoded calculation based on 17320 length and sizeof(UChar). 17321 173222012-07-25 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 17323 17324 Create a specialized pair for use in HashMap iterators 17325 https://bugs.webkit.org/show_bug.cgi?id=92137 17326 17327 Reviewed by Ryosuke Niwa. 17328 17329 The type used for internal storage in HashMap is exposed in its interface as iterator 17330 "contents". Currently HashMap uses std::pair<>, which this patch replaces with 17331 KeyValuePair. 17332 17333 Having this specialized structure will allow us to customize the members to be called 17334 key/value, improving readability in code using HashMap iterators. They are still called 17335 first/second to separate this change from the mechanical change of updating callsites. 17336 17337 * wtf/HashIterators.h: 17338 (HashTableConstKeysIterator): 17339 (HashTableConstValuesIterator): 17340 (HashTableKeysIterator): 17341 (HashTableValuesIterator): 17342 Use KeyValuePair instead of std::pair when defining the iterators. 17343 17344 * wtf/HashMap.h: 17345 (WTF): 17346 (WTF::KeyValuePairKeyExtractor::extract): 17347 (HashMap): 17348 Remove PairFirstExtractor. Add and use the KeyValuePair corresponding extractor. 17349 17350 (WTF::HashMapValueTraits::isEmptyValue): Use KeyValuePairHashTraits for HashMaps. 17351 (WTF::HashMapTranslator::translate): 17352 (WTF::HashMapTranslatorAdapter::translate): 17353 The traits of the mapped value is now called ValueTraits instead of SecondTraits. 17354 17355 * wtf/HashTable.h: 17356 (WTF::hashTableSwap): Add specialization for swapping KeyValuePairs. 17357 (WTF): Remove now unneeded specialization for std::pairs. 17358 17359 * wtf/HashTraits.h: 17360 (KeyValuePair): 17361 (WTF::KeyValuePair::KeyValuePair): 17362 (WTF): 17363 Specialized pair. In the future difference from pair should be the member names. 17364 17365 (KeyValuePairHashTraits): 17366 (WTF::KeyValuePairHashTraits::emptyValue): 17367 (WTF::KeyValuePairHashTraits::constructDeletedValue): 17368 (WTF::KeyValuePairHashTraits::isDeletedValue): 17369 These traits are analogous to PairHashTraits but for KeyValuePair. 17370 17371 * wtf/RefPtrHashMap.h: Use KeyValuePairHashTraits. 17372 173732012-07-25 Andrew Wilson <atwilson@chromium.org> 17374 17375 Unreviewed, rolling out r123560. 17376 http://trac.webkit.org/changeset/123560 17377 https://bugs.webkit.org/show_bug.cgi?id=90321 17378 17379 Breaks chromium valgrind tests. 17380 17381 * wtf/text/WTFString.h: 17382 173832012-07-25 Csaba Osztrogonác <ossy@webkit.org> 17384 17385 [Qt] There are parallel GC related crashes regularly 17386 https://bugs.webkit.org/show_bug.cgi?id=90957 17387 17388 Rubber-stamped by Zoltan Herczeg. 17389 17390 * wtf/Platform.h: Disable parallel GC temporarily on Qt until proper fix. 17391 173922012-07-24 Benjamin Poulain <bpoulain@apple.com> && Joseph Pecoraro <pecoraro@apple.com> 17393 17394 QualifiedName's HashSet should be big enough to hold at least all the static names 17395 https://bugs.webkit.org/show_bug.cgi?id=91891 17396 17397 Reviewed by Darin Adler. 17398 17399 Add a static struct to compute the HashTable capacity for any given size at compile time. 17400 This allow us to create HashTraits giving the minimumSize without hardcoding the values. 17401 17402 * wtf/HashTable.h: 17403 (OneifyLowBits): 17404 (UpperPowerOfTwoBound): 17405 (HashTableCapacityForSize): Compute the HashTable capacity at compile time. 17406 174072012-07-24 Michael Saboff <msaboff@apple.com> 17408 17409 Convert HTML parser to handle 8-bit resources without converting to UChar* 17410 https://bugs.webkit.org/show_bug.cgi?id=90321 17411 17412 Reviewed by Geoffrey Garen. 17413 17414 * wtf/text/WTFString.h: 17415 (WTF::String::dataSize): New method to return the number of bytes 17416 the string requires. This replaces a harcoded calculation based on 17417 length and sizeof(UChar). 17418 174192012-07-24 Sam Weinig <sam@webkit.org> 17420 17421 Add per-HashTable stats 17422 https://bugs.webkit.org/show_bug.cgi?id=92185 17423 17424 Reviewed by Anders Carlsson. 17425 17426 Add per-HashTable stats, so we can look at the effectiveness of an individual HashTable. 17427 17428 * wtf/HashTable.h: 17429 (WTF::HashTable::Stats::Stats): 17430 Add a HashTable::Stats to hold the stats. 17431 17432 (WTF::HashTable::Stats::recordCollisionAtCount): 17433 (WTF::HashTable::Stats::dumpStats): 17434 Add versions of recordCollisionAtCount and dumpStats for per-HashTable version. 17435 17436 (WTF::HashTable): 17437 Keep the stats, if enabled, in an OwnPtr, to not blow JSCell max size restrictions. 17438 17439 (WTF::lookup): 17440 (WTF::lookupForWriting): 17441 (WTF::fullLookupForWriting): 17442 (WTF::add): 17443 (WTF::reinsert): 17444 (WTF::remove): 17445 (WTF::rehash): 17446 Keep track of the stats as the table is used. 17447 174482012-07-24 Patrick Gansterer <paroga@webkit.org> 17449 17450 Store the full year in GregorianDateTime 17451 https://bugs.webkit.org/show_bug.cgi?id=92067 17452 17453 Reviewed by Geoffrey Garen. 17454 17455 Use the full year instead of the offset from year 1900 17456 for the year member variable of GregorianDateTime. 17457 17458 * wtf/GregorianDateTime.h: 17459 (WTF::GregorianDateTime::operator tm): 17460 174612012-07-23 Patrick Gansterer <paroga@webkit.org> 17462 17463 Move GregorianDateTime from JSC to WTF namespace 17464 https://bugs.webkit.org/show_bug.cgi?id=91948 17465 17466 Reviewed by Geoffrey Garen. 17467 17468 Moving GregorianDateTime into the WTF namespace allows us to us to 17469 use it in WebCore too. The new class has the same behaviour as the 17470 old struct. Only the unused timeZone member has been removed. 17471 17472 * GNUmakefile.list.am: 17473 * WTF.gypi: 17474 * WTF.pro: 17475 * WTF.vcproj/WTF.vcproj: 17476 * WTF.xcodeproj/project.pbxproj: 17477 * wtf/CMakeLists.txt: 17478 * wtf/GregorianDateTime.h: Added. 17479 (GregorianDateTime): 17480 174812012-07-23 Rob Buis <rbuis@rim.com> 17482 17483 [BlackBerry] Merge createThreadInternal implementations 17484 https://bugs.webkit.org/show_bug.cgi?id=91899 17485 17486 Reviewed by Yong Li. 17487 17488 PR 111675 17489 17490 Remove our implementation since the default thread stack size on QNX is fine. 17491 17492 * wtf/ThreadingPthreads.cpp: 17493 (WTF::createThreadInternal): 17494 (WTF::initializeCurrentThreadInternal): make sure we set the thread name. 17495 174962012-07-23 Patrick Gansterer <paroga@webkit.org> 17497 17498 [WINCE] Define NOMINMAX in the build system instead of Platform.h 17499 https://bugs.webkit.org/show_bug.cgi?id=91938 17500 17501 Reviewed by Ryosuke Niwa. 17502 17503 * wtf/Platform.h: 17504 175052012-07-23 Patrick Gansterer <paroga@webkit.org> 17506 17507 Build fix for Windows after r123317. 17508 17509 * wtf/DateMath.cpp: Added missing header include. 17510 175112012-07-23 Patrick Gansterer <paroga@webkit.org> 17512 17513 [WIN] Use GetTimeZoneInformation() for calculateUTCOffset() 17514 https://bugs.webkit.org/show_bug.cgi?id=91935 17515 17516 Reviewed by Ryosuke Niwa. 17517 17518 GetTimeZoneInformation() returns the offset directly. Using it 17519 avoids unnecessary calculations and remove dependencies on 17520 other time related function, which do not exist on WinCE. 17521 17522 * wtf/DateMath.cpp: 17523 (WTF::calculateUTCOffset): 17524 175252012-07-20 Han Shen <shenhan@google.com> 17526 17527 [Chromium] Compilation fails under gcc 4.7 17528 https://bugs.webkit.org/show_bug.cgi?id=90227 17529 17530 Reviewed by Tony Chang. 17531 17532 Disable warnings about c++0x compatibility in gcc newer than 4.6. 17533 17534 * WTF.gyp/WTF.gyp: 17535 175362012-07-19 Dan Bernstein <mitz@apple.com> 17537 17538 The ATSUI-based complex text code is unused 17539 https://bugs.webkit.org/show_bug.cgi?id=91816 17540 17541 Reviewed by Sam Weinig. 17542 17543 Removed definitions of WTF_USE_ATSUI and WTF_USE_CORE_TEXT. 17544 17545 * wtf/Platform.h: 17546 175472012-07-19 Wei James <james.wei@intel.com> 17548 17549 enable Web Audio for chromium android port 17550 https://bugs.webkit.org/show_bug.cgi?id=89428 17551 17552 Reviewed by Kenneth Russell. 17553 17554 * wtf/MathExtras.h: 17555 (log2): 17556 (log2f): 17557 175582012-07-19 Scott Graham <scottmg@chromium.org> 17559 17560 [Chromium] disable warning on Windows from gcc-only pragma in Assertions.cpp" 17561 https://bugs.webkit.org/show_bug.cgi?id=91776 17562 17563 Reviewed by Ryosuke Niwa. 17564 17565 Avoids: 17566 ...\source\wtf\wtf\assertions.cpp(31) : warning C4068: unknown pragma 17567 17568 * WTF.gyp/WTF.gyp: 17569 175702012-07-19 Robert Sesek <rsesek@chromium.org> 17571 17572 [chromium][Mac] Switch the MACOSX_DEPLOYMENT_TARGET to 10.6 17573 https://bugs.webkit.org/show_bug.cgi?id=91752 17574 17575 Reviewed by Eric Seidel. 17576 17577 When building CHROMIUM && DARWIN, do not enable ATSUI support. 17578 17579 * wtf/Platform.h: 17580 175812012-07-18 Yong Li <yoli@rim.com> 17582 17583 [BlackBerry] Implement currentTime() and monotonicallyIncreasingTime() for OS(QNX) 17584 https://bugs.webkit.org/show_bug.cgi?id=91659 17585 17586 Reviewed by Rob Buis. 17587 17588 Implement currentTime() and monotonicallyIncreasingTime() for OS(QNX) with clock_gettime(). 17589 17590 * wtf/CurrentTime.cpp: 17591 (WTF): 17592 (WTF::currentTime): 17593 (WTF::monotonicallyIncreasingTime): 17594 175952012-07-18 Tom Sepez <tsepez@chromium.org> 17596 17597 OOB read of stack buffer below DoubleToStringConverter::CreateExponentialRepresentation() in debug builds 17598 https://bugs.webkit.org/show_bug.cgi?id=91642 17599 17600 Reviewed by Abhishek Arya. 17601 17602 * wtf/dtoa/double-conversion.cc: 17603 (DoubleToStringConverter::CreateExponentialRepresentation): NUL-terminate string buffer before passing it to StringBuilder::AddSubstring() 17604 176052012-07-18 Michael Saboff <msaboff@apple.com> 17606 17607 Make TextCodecLatin1 handle 8 bit data without converting to UChar's 17608 https://bugs.webkit.org/show_bug.cgi?id=90319 17609 17610 Reviewed by Oliver Hunt. 17611 17612 * wtf/text/StringImpl.h: 17613 (StringImpl): Exported LChar variant of adopt(). 17614 * wtf/text/WTFString.h: 17615 (WTF::String::createUninitialized): Exported LChar variant. 17616 176172012-07-18 Rob Buis <rbuis@rim.com> 17618 17619 Alignment crash in MIMESniffer 17620 https://bugs.webkit.org/show_bug.cgi?id=89787 17621 17622 Reviewed by Yong Li. 17623 17624 PR 169064 17625 17626 Change isPointerTypeAlignmentOkay so calling it does not require ifdefs. 17627 17628 * wtf/StdLibExtras.h: 17629 (isPointerTypeAlignmentOkay): 17630 176312012-07-17 Gabor Ballabas <gaborb@inf.u-szeged.hu> 17632 17633 [Qt][V8] Remove the V8 related codepaths and configuration 17634 https://bugs.webkit.org/show_bug.cgi?id=90863 17635 17636 Reviewed by Simon Hausmann. 17637 17638 * WTF.pri: 17639 176402012-07-17 Sheriff Bot <webkit.review.bot@gmail.com> 17641 17642 Unreviewed, rolling out r122834. 17643 http://trac.webkit.org/changeset/122834 17644 https://bugs.webkit.org/show_bug.cgi?id=91492 17645 17646 it broke the chromium (Requested by kkristof on #webkit). 17647 17648 * WTF.pri: 17649 176502012-07-17 Gabor Ballabas <gaborb@inf.u-szeged.hu> 17651 17652 [Qt][V8] Remove the V8 related codepaths and configuration 17653 https://bugs.webkit.org/show_bug.cgi?id=90863 17654 17655 Reviewed by Simon Hausmann. 17656 17657 * WTF.pri: 17658 176592012-07-16 Hajime Morrita <morrita@chromium.org> 17660 17661 WebCore needs WEBCORE_TESTING macro to mark methods being exported for testing. 17662 https://bugs.webkit.org/show_bug.cgi?id=90764 17663 17664 Reviewed by Adam Barth. 17665 17666 Added USE(EXPORT_MACROS_FOR_TESTING) and enabled it on GTK and Windows. 17667 17668 * wtf/ExportMacros.h: 17669 * wtf/Platform.h: 17670 176712012-07-16 Filip Pizlo <fpizlo@apple.com> 17672 17673 Unreviewed build fix. 17674 17675 * wtf/FastMalloc.cpp: 17676 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 17677 176782012-07-16 Adam Treat <atreat@rim.com> 17679 17680 [BlackBerry] Use newer version of platform API to implement callOnMainThread 17681 https://bugs.webkit.org/show_bug.cgi?id=91404 17682 17683 Reviewed by Yong Li. 17684 17685 Right now we're using an outdated API that involves a virtual function call for no reason. 17686 Use the new API that is much more direct and to the point. 17687 17688 * wtf/blackberry/MainThreadBlackBerry.cpp: 17689 (WTF::scheduleDispatchFunctionsOnMainThread): 17690 176912012-07-14 Filip Pizlo <fpizlo@apple.com> 17692 17693 Unreviewed, build fix. 17694 17695 * wtf/Assertions.cpp: 17696 * wtf/Platform.h: 17697 * wtf/unicode/icu/CollatorICU.cpp: 17698 (WTF::Collator::userDefault): 17699 177002012-07-13 Xianzhu Wang <wangxianzhu@chromium.org> 17701 17702 Move WebCore/platform/text/Base64 to WTF/wtf/text 17703 https://bugs.webkit.org/show_bug.cgi?id=91162 17704 17705 Reviewed by Adam Barth. 17706 17707 * GNUmakefile.list.am: 17708 * WTF.gypi: 17709 * WTF.pro: 17710 * WTF.vcproj/WTF.vcproj: 17711 * WTF.xcodeproj/project.pbxproj: 17712 * wtf/CMakeLists.txt: 17713 * wtf/text/Base64.cpp: Renamed from Source/WebCore/platform/text/Base64.cpp. 17714 (WTF): 17715 (WTF::base64Encode): 17716 (WTF::base64Decode): 17717 (WTF::base64DecodeInternal): 17718 * wtf/text/Base64.h: Renamed from Source/WebCore/platform/text/Base64.h. 17719 (WTF): 17720 (WTF::base64Encode): 17721 177222012-07-12 Carlos Garcia Campos <cgarcia@igalia.com> 17723 17724 [GTK] Add API to get HTTPS status to WebKit2 GTK+ 17725 https://bugs.webkit.org/show_bug.cgi?id=91100 17726 17727 Reviewed by Martin Robinson. 17728 17729 Add support for GByteArray. 17730 17731 * wtf/gobject/GRefPtr.cpp: 17732 (WTF::refGPtr): 17733 (WTF): 17734 (WTF::derefGPtr): 17735 * wtf/gobject/GRefPtr.h: 17736 (WTF): 17737 * wtf/gobject/GTypedefs.h: 17738 177392012-07-12 Maciej Stachowiak <mjs@apple.com> 17740 17741 Document ListHashSet iteration guarantees 17742 https://bugs.webkit.org/show_bug.cgi?id=91106 17743 17744 Reviewed by Eric Seidel. 17745 17746 * wtf/ListHashSet.h: 17747 (WTF): Expand class comment to document this. 17748 177492012-07-11 Mark Rowe <mrowe@apple.com> 17750 17751 <http://webkit.org/b/91024> Build against the latest SDK when targeting older OS X versions. 17752 17753 Reviewed by Dan Bernstein. 17754 17755 The deployment target is already set to the version that we're targeting, and it's that setting 17756 which determines which functionality from the SDK is available to us. 17757 17758 * Configurations/Base.xcconfig: 17759 177602012-07-11 Mark Rowe <mrowe@apple.com> 17761 17762 Replace definitions of BUILDING_ON / TARGETING macros with macros that will error when used. 17763 17764 Part of <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros. 17765 17766 Reviewed by Anders Carlsson. 17767 17768 * wtf/Platform.h: 17769 177702012-07-11 Mark Rowe <mrowe@apple.com> 17771 17772 Switch a few cases that care about the SDK over to checking __MAC_OS_X_VERSION_MAX_ALLOWED so that things build. 17773 17774 Part of <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros 17775 17776 Reviewed by Filip Pizlo. 17777 17778 * wtf/FastMalloc.cpp: 17779 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): The SDK we're building against determines how many elements 17780 the structure is declared as having. 17781 177822012-07-11 Mark Rowe <mrowe@apple.com> 17783 17784 <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros 17785 17786 This removal was handled by a script that translates the relevant macros in to the equivalent checks 17787 using the system availability macros. 17788 17789 Reviewed by Filip Pizlo. 17790 17791 * wtf/Assertions.cpp: 17792 * wtf/FastMalloc.cpp: 17793 * wtf/Platform.h: 17794 * wtf/ThreadingPthreads.cpp: 17795 * wtf/unicode/icu/CollatorICU.cpp: 17796 177972012-07-11 Anders Carlsson <andersca@apple.com> 17798 17799 Add -Wtautological-compare and -Wsign-compare warning flags 17800 https://bugs.webkit.org/show_bug.cgi?id=90994 17801 17802 Reviewed by Mark Rowe. 17803 17804 * Configurations/Base.xcconfig: 17805 178062012-07-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 17807 17808 Re-enable __declspec(dl{import,export}) for MinGW when using EXPORT_MACROS 17809 https://bugs.webkit.org/show_bug.cgi?id=90612 17810 17811 Reviewed by Csaba Osztrogonác. 17812 17813 MinGW was switched to use auto import/export of symbols on r44184. 17814 From my understanding of the documentation, MinGW will not auto-export symbols 17815 unless there are no explicit __declspec(dlexport) in the DLL already. 17816 17817 The issues that originally made us rely on the auto-import feature of MinGW 17818 should now be resolved with the EXPORT_MACROS work. This patch re-enables them. 17819 17820 It also removes the GCC check for internal symbols hiding as the visibility should 17821 already be hidden by default for both MSVC and GCC on Windows anyway. 17822 17823 * wtf/ExportMacros.h: 17824 178252012-07-09 No'am Rosenthal <noam.rosenthal@nokia.com> 17826 17827 Shared code that is guarded with ENABLE(WEBGL) should be guarded with USE() 17828 https://bugs.webkit.org/show_bug.cgi?id=90506 17829 17830 Reviewed by Martin Robinson. 17831 17832 Made USE(3D_GRAPHICS) default to true when ENABLE(WEBGL) is true. 17833 Also updated the Qt default to always use TEXTURE_MAPPER, and to use TEXTURE_MAPPER_GL when 17834 3D_GRAPHICS is used. 17835 17836 * wtf/Platform.h: 17837 178382012-07-08 Laszlo Gombos <laszlo.1.gombos@nokia.com> 17839 17840 Introduce a build flag for low quality JPEG images 17841 https://bugs.webkit.org/show_bug.cgi?id=90748 17842 17843 Reviewed by Adam Barth. 17844 17845 Turn on the newly introduced flags for android. 17846 17847 * wtf/Platform.h: 17848 178492012-07-05 Filip Pizlo <fpizlo@apple.com> 17850 17851 INLINE_ARM_FUNCTION(thingy) should make thingy be thumb2 if we're using thumb2 17852 https://bugs.webkit.org/show_bug.cgi?id=90644 17853 17854 Reviewed by Mark Hahnenberg. 17855 17856 Fix breakage introduced in http://trac.webkit.org/changeset/121885 17857 17858 * wtf/InlineASM.h: 17859 178602012-07-05 Zoltan Herczeg <zherczeg@webkit.org> 17861 17862 Port DFG JIT to traditional ARM 17863 https://bugs.webkit.org/show_bug.cgi?id=90198 17864 17865 Reviewed by Filip Pizlo. 17866 17867 Enabling DFG JIT on ARM systems with 32 bit instruction set. 17868 17869 * wtf/InlineASM.h: 17870 * wtf/Platform.h: 17871 178722012-07-04 Andy Wingo <wingo@igalia.com> 17873 17874 [GTK] Enable parallel GC 17875 https://bugs.webkit.org/show_bug.cgi?id=90568 17876 17877 Reviewed by Martin Robinson. 17878 17879 * wtf/Platform.h: Add GTK to the ENABLE_PARALLEL_GC party. 17880 178812012-07-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 17882 17883 [Qt] Get rid of un-needed QT += declarative for Qt 5 17884 17885 The declarative module has been renamed to quick1 in Qt 5, and the 17886 engine-only module for Qt 5 is named 'qml'. For many of the instances 17887 we could just remove 'declarative', since the project file was only 17888 used for Qt5/WebKit2 builds. In the other cases the module was wrapped 17889 in a haveQt(4) scope. 17890 17891 Reviewed by Csaba Osztrogonác. 17892 17893 * WTF.pri: 17894 178952012-07-03 Yong Li <yoli@rim.com> 17896 17897 [BlackBerry] Turn on DFGJIT in Platform.h 17898 https://bugs.webkit.org/show_bug.cgi?id=90482 17899 17900 Set ENABLE_DFG_JIT for PLATFORM(BLACKBERRY). 17901 17902 Reviewed by Rob Buis. 17903 17904 * wtf/Platform.h: 17905 179062012-07-03 Tony Chang <tony@chromium.org> 17907 17908 [chromium] Unreviewed, update .gitignore to handle VS2010 files. 17909 17910 * WTF.gyp/.gitignore: 17911 179122012-07-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 17913 17914 [Qt] Make use of .qmake.cache for caching features 17915 17916 Instead of loading() features from the files that need them (and re-running 17917 a bunch of checks), we now run feature detection as part of configure.pro, 17918 and have build-webkit write the computed feature-defines and CONFIG to 17919 .qmake.cache, which is then loaded by qmake _before_ even defaults_pre 17920 when building WebKit.pro. 17921 17922 At some point we'll be able to selectivly prevent running of config tests 17923 in configure.pro, which means we don't need a separate code-path for 17924 the build-webkit --help case. 17925 17926 We should also move the code in build-webkit that now uses .webkit.config 17927 to detect clean builds, to use .qmake.cache, since we now store the same 17928 thing there. 17929 17930 Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> 17931 17932 Reviewed by Tor Arne Vestbø. 17933 17934 * WTF.pri: 17935 179362012-07-03 Sheriff Bot <webkit.review.bot@gmail.com> 17937 17938 Unreviewed, rolling out r121766. 17939 http://trac.webkit.org/changeset/121766 17940 https://bugs.webkit.org/show_bug.cgi?id=90465 17941 17942 It caused flakey build errors on the bots (Requested by Ossy 17943 on #webkit). 17944 17945 * WTF.pri: 17946 179472012-07-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 17948 17949 [Qt] Make use of .qmake.cache for caching features 17950 17951 Instead of loading() features from the files that need them (and re-running 17952 a bunch of checks), we now run feature detection as part of configure.pro, 17953 and have build-webkit write the computed feature-defines and CONFIG to 17954 .qmake.cache, which is then loaded by qmake _before_ even defaults_pre 17955 when building WebKit.pro. 17956 17957 At some point we'll be able to selectivly prevent running of config tests 17958 in configure.pro, which means we don't need a separate code-path for 17959 the build-webkit --help case. 17960 17961 We should also move the code in build-webkit that now uses .webkit.config 17962 to detect clean builds, to use .qmake.cache, since we now store the same 17963 thing there. 17964 17965 Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> 17966 17967 Reviewed by Tor Arne Vestbø. 17968 17969 * WTF.pri: 17970 179712012-07-03 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> Joel Dillon <joel.dillon@codethink.co.uk> 17972 17973 [Qt][Win] Fix broken QtWebKit5.lib linking 17974 https://bugs.webkit.org/show_bug.cgi?id=88321 17975 17976 Reviewed by Kenneth Rohde Christiansen. 17977 17978 Instead of letting a module's headers know which other modules depend on them, 17979 have depending modules define explicitely that they want its symbols exported too. 17980 17981 JavaScriptCore should then be compiled with both BUILDING_JavaScriptCore and 17982 STATICALLY_LINKED_WITH_WTF. 17983 17984 * wtf/ExportMacros.h: 17985 179862012-06-29 Tony Chang <tony@chromium.org> 17987 17988 Unreviewed, rolling out r121572. 17989 http://trac.webkit.org/changeset/121572 17990 https://bugs.webkit.org/show_bug.cgi?id=90249 17991 17992 Breaks Mac build since it depends on r121547, which was rolled 17993 out 17994 17995 * wtf/ThreadingPthreads.cpp: 17996 (WTF::initializeCurrentThreadInternal): 17997 179982012-06-29 Eric Seidel <eric@webkit.org> 17999 18000 Remove BUILDING_ON_LEOPARD now that no ports build on Leopard 18001 https://bugs.webkit.org/show_bug.cgi?id=90249 18002 18003 Reviewed by Ryosuke Niwa. 18004 18005 * wtf/ThreadingPthreads.cpp: 18006 (WTF::initializeCurrentThreadInternal): 18007 180082012-06-29 Sheriff Bot <webkit.review.bot@gmail.com> 18009 18010 Unreviewed, rolling out r121529. 18011 http://trac.webkit.org/changeset/121529 18012 https://bugs.webkit.org/show_bug.cgi?id=90260 18013 18014 Failed to compile on Chromium WebKitMacBuilder (Requested by 18015 keishi on #webkit). 18016 18017 * wtf/FastMalloc.cpp: 18018 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 18019 * wtf/unicode/icu/CollatorICU.cpp: 18020 (WTF::Collator::userDefault): 18021 180222012-06-29 Eric Seidel <eric@webkit.org> 18023 18024 Remove more BUILDING_ON_LEOPARD branches now that no port builds on Leopard 18025 https://bugs.webkit.org/show_bug.cgi?id=90252 18026 18027 Reviewed by Ryosuke Niwa. 18028 18029 * wtf/FastMalloc.cpp: 18030 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 18031 * wtf/unicode/icu/CollatorICU.cpp: 18032 (WTF::Collator::userDefault): 18033 180342012-06-29 Eric Seidel <eric@webkit.org> 18035 18036 Remove more BUILDING_ON_LEOPARD usage in PLATFORM(MAC) code 18037 https://bugs.webkit.org/show_bug.cgi?id=85846 18038 18039 Reviewed by Adam Barth. 18040 18041 PLATFORM(MAC) has not supported Leopard for several months now. 18042 This change removes about 1/3 of the remaining BUILDING_ON_LEOPARD 18043 uses in the PLATFORM(MAC) codepaths. PLATFORM(CHROMIUM) still 18044 supports BUILDING_ON_LEOPARD for now. 18045 18046 * wtf/Platform.h: 18047 180482012-06-28 Kalev Lember <kalevlember@gmail.com> 18049 18050 ThreadingWin: Silence GCC compiler warnings 18051 https://bugs.webkit.org/show_bug.cgi?id=89491 18052 18053 Reviewed by Adam Roben. 18054 18055 * wtf/ThreadingWin.cpp: 18056 (WTF::createThreadInternal): 18057 (WTF::PlatformCondition::timedWait): 18058 (WTF::PlatformCondition::signal): Fix unused-but-set-variable 18059 warnings. 18060 180612012-06-26 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 18062 18063 [Qt] Add missing heades to HEADERS 18064 18065 For JavaScriptCore there aren't any Qt specific files, so we include all 18066 headers for easy editing in Qt Creator. 18067 18068 Reviewed by Simon Hausmann. 18069 18070 * WTF.pro: 18071 180722012-06-25 Kent Tamura <tkent@chromium.org> 18073 18074 Unreviewed, rolling out r121145. 18075 http://trac.webkit.org/changeset/121145 18076 https://bugs.webkit.org/show_bug.cgi?id=89847 18077 18078 Had an objection for the change. 18079 18080 * wtf/text/StringBuilder.h: 18081 180822012-06-25 Yong Li <yoli@rim.com> 18083 18084 [BlackBerry] Add JSC statistics into about:memory 18085 https://bugs.webkit.org/show_bug.cgi?id=89779 18086 18087 Reviewed by Rob Buis. 18088 18089 Turn on WTF_USE_EXPORT_MACROS for BlackBerry port. 18090 This will make macros like JS_EXPORT_PRIVATE work without 18091 extra porting. 18092 18093 * wtf/Platform.h: 18094 180952012-06-25 Adam Barth <abarth@webkit.org> 18096 18097 Use InterpolationLow on chromium-android 18098 https://bugs.webkit.org/show_bug.cgi?id=89849 18099 18100 Reviewed by Daniel Bates. 18101 18102 Introduce a USE macro to control image interpolation quality. 18103 18104 * wtf/Platform.h: 18105 181062012-06-25 Kent Tamura <tkent@chromium.org> 18107 18108 Change the serialization format of form control state to make the code simple 18109 https://bugs.webkit.org/show_bug.cgi?id=89847 18110 18111 Reviewed by Hajime Morita. 18112 18113 * wtf/text/StringBuilder.h: 18114 (WTF::StringBuilder::appendEscaped): Added. This function adds the 18115 escaped form of the input string. e.g. if stiring="foo,bar" escape='\' 18116 special=',', the appended string is foo\,bar. 18117 181182012-06-24 Adam Barth <abarth@webkit.org> 18119 18120 Remove USE(CHROMIUM_NET) because it is unused 18121 https://bugs.webkit.org/show_bug.cgi?id=89850 18122 18123 Reviewed by Eric Seidel. 18124 18125 I didn't see any mentions of CHROMIUM_NET when I grepped the Source 18126 directory. Also, this USE macro isn't defined on OS(DARWIN) or 18127 OS(ANDROID), which seems a bit odd given that Chromium uses the same 18128 network stack on all platforms. 18129 18130 * wtf/Platform.h: 18131 181322012-06-22 Peter Beverloo <peter@chromium.org> 18133 18134 [Chromium] Disable c++0x compatibility warnings in JavaScriptCore.gyp when building for Android 18135 https://bugs.webkit.org/show_bug.cgi?id=88853 18136 18137 Reviewed by Steve Block. 18138 18139 The Android exclusions were necessary to fix a gyp generation error, as 18140 the gcc_version variable wasn't being defined for Android. Remove these 18141 exceptions when Chromium is able to define the gcc_version variable. 18142 18143 * WTF.gyp/WTF.gyp: 18144 181452012-06-18 Gustavo Noronha Silva <gustavo.noronha@collabora.com> 18146 18147 Causes crashes in LLVMPipe 18148 https://bugs.webkit.org/show_bug.cgi?id=89358 18149 18150 Reviewed by Martin Robinson. 18151 18152 Change suggested by Dave Airlie and Xan Lopez. 18153 18154 * wtf/Platform.h: disable global fastMalloc for GTK+ 18155 181562012-06-22 Mario Sanchez Prada <msanchez@igalia.com> 18157 18158 Memory corruption on HashTable.h 18159 https://bugs.webkit.org/show_bug.cgi?id=88419 18160 18161 Reviewed by Martin Robinson. 18162 18163 Simplify definition of WTF_USE_PTHREADS and HAVE_PTHREAD_RWLOCK 18164 for the GTK platform using OS(LINUX) instead of HAVE(PTHREAD_H). 18165 18166 * wtf/Platform.h: 18167 181682012-06-21 Parth Patel <parpatel@rim.com> 18169 18170 [Blackberry] BlackBerry::Platform::Settings::get() rename to BlackBerry::Platform::Settings::instance() to make it consistent with our other singletons 18171 https://bugs.webkit.org/show_bug.cgi?id=89684 18172 18173 Reviewed by Yong Li. 18174 18175 Update setting instance access to use instance() instead of get(). 18176 18177 * wtf/ThreadingPthreads.cpp: 18178 (WTF::createThreadInternal): 18179 181802012-06-21 Kalev Lember <kalevlember@gmail.com> 18181 18182 [GTK] Fix NPAPI plugins on Windows 18183 https://bugs.webkit.org/show_bug.cgi?id=54531 18184 18185 Reviewed by Martin Robinson. 18186 18187 Define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH for the GTK+ port, and 18188 include OwnPtrWin.cpp in the list of files built on Windows. 18189 18190 * GNUmakefile.am: 18191 * GNUmakefile.list.am: 18192 * wtf/Platform.h: 18193 181942012-06-21 Balazs Kelemen <kbalazs@webkit.org> 18195 18196 Compile error: 'bool std::isinf(float)' is not 'constexpr' with GCC 4.6 in C++11 mode 18197 https://bugs.webkit.org/show_bug.cgi?id=88721 18198 18199 Reviewed by Csaba Osztrogonác. 18200 18201 Don't define these as consexpr because with gcc 4.6 18202 they call non constexpr functions. 18203 * wtf/MathExtras.h: 18204 (std::wtf_isinf): 18205 (std::wtf_isnan): 18206 182072012-06-17 Filip Pizlo <fpizlo@apple.com> 18208 18209 It should be possible to look at disassembly 18210 https://bugs.webkit.org/show_bug.cgi?id=89319 18211 18212 Reviewed by Sam Weinig. 18213 18214 Made changes to Assertions.h to make it friendly to C code again. 18215 18216 Added ENABLE(DISASSEMBLER) and USE(UDIS86) logic to Platform.h. 18217 18218 * wtf/Assertions.h: 18219 * wtf/Platform.h: 18220 182212012-06-19 Jon Honeycutt <jhoneycutt@apple.com> 18222 18223 REGRESSION(r120552): Many tests timing out on Windows 18224 https://bugs.webkit.org/show_bug.cgi?id=89433 18225 18226 Reviewed by Andy Estes. 18227 18228 * wtf/CurrentTime.cpp: 18229 (WTF::lowResUTCTime): 18230 It looks like there were two bugs: 18231 1) the function was converting from 100ths of nanoseconds to seconds 18232 rather than 100s of nanoseconds to seconds by dividing by 18233 (nsPerSecond * 100) rather than (nsPerSecond / 100) 18234 2) the function should've been returning milliseconds, not seconds 18235 182362012-06-18 Tony Payne <tpayne@chromium.org> 18237 18238 [chromium] Add iccjpeg and qcms to chromium port. 18239 https://bugs.webkit.org/show_bug.cgi?id=81974 18240 18241 * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB 18242 to each Chromium platform, excluding Android. 18243 18244 Reviewed by Adam Barth. 18245 182462012-06-18 Sheriff Bot <webkit.review.bot@gmail.com> 18247 18248 Unreviewed, rolling out r120485 and r120582. 18249 http://trac.webkit.org/changeset/120485 18250 http://trac.webkit.org/changeset/120582 18251 https://bugs.webkit.org/show_bug.cgi?id=89345 18252 18253 chromeos tree breakage (Requested by morrita on #webkit). 18254 18255 * wtf/Platform.h: 18256 182572012-06-17 Patrick Gansterer <paroga@webkit.org> 18258 18259 [WIN] Simplify implementation of currentTime() 18260 https://bugs.webkit.org/show_bug.cgi?id=83156 18261 18262 Reviewed by Brent Fulgham. 18263 18264 Use GetSystemTimeAsFileTime() instead of ftime(). 18265 This avoids an unneeded call to the MS CRT and 18266 brings the Win/WinCE code closer together. 18267 18268 * wtf/CurrentTime.cpp: 18269 (WTF::lowResUTCTime): 18270 (WTF::currentTime): 18271 182722012-06-15 Tony Payne <tpayne@chromium.org> 18273 18274 [chromium] Add iccjpeg and qcms to chromium port. 18275 https://bugs.webkit.org/show_bug.cgi?id=81974 18276 18277 * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB 18278 to each Chromium platform, excluding Android. 18279 18280 Reviewed by Adam Barth. 18281 182822012-06-14 Sheriff Bot <webkit.review.bot@gmail.com> 18283 18284 Unreviewed, rolling out r120393. 18285 http://trac.webkit.org/changeset/120393 18286 https://bugs.webkit.org/show_bug.cgi?id=89163 18287 18288 breaks cr-mac build (Requested by morrita on #webkit). 18289 18290 * wtf/Platform.h: 18291 182922012-06-14 Tony Payne <tpayne@chromium.org> 18293 18294 [chromium] Add iccjpeg and qcms to chromium port. 18295 https://bugs.webkit.org/show_bug.cgi?id=81974 18296 18297 * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB 18298 to each Chromium platform, excluding Android. 18299 18300 Reviewed by Adam Barth. 18301 183022012-06-14 Yong Li <yoli@rim.com> 18303 18304 [BlackBerry] Implement computeRAMSize for QNX 18305 https://bugs.webkit.org/show_bug.cgi?id=89110 18306 18307 Reviewed by Rob Buis. 18308 18309 * wtf/RAMSize.cpp: 18310 (WTF::computeRAMSize): 18311 183122012-06-14 Geoffrey Garen <ggaren@apple.com> 18313 18314 ARMv7 should support spinlocks 18315 https://bugs.webkit.org/show_bug.cgi?id=88957 18316 18317 Reviewed by Darin Adler. 18318 18319 More info @ http://infocenter.arm.com/help/topic/ 18320 com.arm.doc.genc007826/Barrier_Litmus_Tests_and_Cookbook_A08.pdf 18321 18322 * wtf/Atomics.h: 18323 (WTF::memoryBarrierAfterLock): 18324 (WTF::memoryBarrierBeforeUnlock): Added memory barrier primitives since 18325 ARMv7 has a weakly ordered memory model. 18326 18327 * wtf/Platform.h: Enabled compare-and-swap on Windows so our spinlock 18328 implementation would continue working on Windows. 18329 18330 * wtf/TCSpinLock.h: 18331 (TCMalloc_SpinLock::Lock): 18332 (TCMalloc_SpinLock::Unlock): 18333 (TCMalloc_SpinLock): Use our compare-and-swap helper function to avoid 18334 rewriting it in assembly here. 18335 18336 Added memory barriers since ARMv7 needs them. 18337 18338 Removed PPC support because our helper function doesn't support PPC. 18339 183402012-06-13 Arnaud Renevier <arno@renevier.net> 18341 18342 make sure headers are included only once per file 18343 https://bugs.webkit.org/show_bug.cgi?id=88929 18344 18345 Reviewed by Kentaro Hara. 18346 18347 * wtf/FastMalloc.cpp: 18348 * wtf/MathExtras.h: 18349 * wtf/OSAllocator.h: 18350 183512012-06-13 Benjamin Poulain <benjamin@webkit.org> 18352 18353 Implement the simple constructors WTFURL's KURL 18354 https://bugs.webkit.org/show_bug.cgi?id=85724 18355 18356 Reviewed by Adam Barth. 18357 18358 This patch extends WTFURL with: 18359 -support basic debugging using print() methods 18360 -parsing in the incomming string character set (8bits or 16bits) 18361 -add a function for parsing of relative URL (but no implementation yet) 18362 18363 * WTF.xcodeproj/project.pbxproj: 18364 * wtf/text/WTFString.h: 18365 (String): 18366 * wtf/url/api/ParsedURL.cpp: 18367 (WTF::ParsedURL::ParsedURL): 18368 (WTF): 18369 (WTF::ParsedURL::hasFragment): Add this method to query the framgent availability without 18370 allocating a new String. 18371 (WTF::ParsedURL::withoutFragment): This method is added to implement KURL::removeFragmentIdentifier() and 18372 the parsing of empty relative URL (where we return the base without fragment). 18373 (WTF::ParsedURL::print): 18374 * wtf/url/api/ParsedURL.h: 18375 (ParsedURL): 18376 (WTF::ParsedURL::spec): 18377 * wtf/url/api/URLString.h: 18378 (URLString): 18379 * wtf/url/src/URLParser.h: 18380 (WTF): 18381 (URLParser): 18382 (WTF::URLParser::parseURLWithBase): 18383 * wtf/url/src/URLSegments.cpp: 18384 (WTF::URLSegments::length): 18385 (WTF::URLSegments::charactersBefore): 18386 * wtf/url/src/URLSegments.h: 18387 (URLSegments): 18388 Change the boolean argument includeDelimiter in favor of an enum to improve readability. 18389 183902012-06-13 Filip Pizlo <fpizlo@apple.com> 18391 18392 DFG should be able to set watchpoints on global variables 18393 https://bugs.webkit.org/show_bug.cgi?id=88692 18394 18395 Reviewed by Geoffrey Garen. 18396 18397 Added ability to set the inline capacity of segmented vectors. 18398 18399 Also added the ability ot ASSERT_NOT_REACHED() without having to 18400 propagate NO_RETURN macros, which would be a show-stopper for code 18401 that is conditionally unreachable. 18402 18403 * wtf/Assertions.h: 18404 (UNREACHABLE_FOR_PLATFORM): 18405 * wtf/SegmentedVector.h: 18406 (WTF): 18407 (SegmentedVectorIterator): 18408 (WTF::SegmentedVectorIterator::operator=): 18409 (WTF::SegmentedVectorIterator::SegmentedVectorIterator): 18410 (SegmentedVector): 18411 184122012-06-13 Sheriff Bot <webkit.review.bot@gmail.com> 18413 18414 Unreviewed, rolling out r120172. 18415 http://trac.webkit.org/changeset/120172 18416 https://bugs.webkit.org/show_bug.cgi?id=88976 18417 18418 The patch causes compilation failures on Gtk, Qt and Apple Win 18419 bots (Requested by zdobersek on #webkit). 18420 18421 * wtf/SegmentedVector.h: 18422 (WTF): 18423 (SegmentedVectorIterator): 18424 (WTF::SegmentedVectorIterator::operator=): 18425 (WTF::SegmentedVectorIterator::SegmentedVectorIterator): 18426 (SegmentedVector): 18427 184282012-06-10 Filip Pizlo <fpizlo@apple.com> 18429 18430 DFG should be able to set watchpoints on global variables 18431 https://bugs.webkit.org/show_bug.cgi?id=88692 18432 18433 Reviewed by Geoffrey Garen. 18434 18435 Added ability to set the inline capacity of segmented vectors. 18436 18437 * wtf/SegmentedVector.h: 18438 (WTF): 18439 (SegmentedVectorIterator): 18440 (WTF::SegmentedVectorIterator::operator=): 18441 (WTF::SegmentedVectorIterator::SegmentedVectorIterator): 18442 (SegmentedVector): 18443 184442012-06-12 Geoffrey Garen <ggaren@apple.com> 18445 18446 Try to fix the build. 18447 18448 Maybe don't export inlined functions. 18449 18450 * wtf/ThreadingPrimitives.h: 18451 (WTF::MutexTryLocker::MutexTryLocker): 18452 (WTF::MutexTryLocker::~MutexTryLocker): 18453 (WTF::MutexTryLocker::locked): 18454 184552012-06-11 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 18456 18457 Using extrernal ICU library on case unsensitive drives will not work 18458 https://bugs.webkit.org/show_bug.cgi?id=70913 18459 18460 Reviewed by Csaba Osztrogonác. 18461 18462 Properly set the include path for the WTF module and for modules using it. 18463 The path should include Source/WTF/wtf only when building WTF itself. Other 18464 modules are expected to include the headers as #include <wtf/Header.h>, so 18465 only add Source/WTF to their include path. 18466 18467 "unicode/utf8.h" should now then always reference to ICU in the include path 18468 and "wtf/unicode/UTF8.h" reference to the WTF version. 18469 This will work as long as WTF object files don't depend on ICU themselves. 18470 18471 Removed gobject, qt and unicode from the include path as those directories 18472 don't exist anymore. 18473 18474 * WTF.pri: 18475 * WTF.pro: 18476 184772012-06-11 Carlos Garcia Campos <cgarcia@igalia.com> 18478 18479 Unreviewed. Fix make distcheck issues. 18480 18481 * GNUmakefile.list.am: Add missing header file. 18482 184832012-06-09 Dominic Cooney <dominicc@chromium.org> 18484 18485 [Chromium] Remove JavaScriptCore dependencies from gyp 18486 https://bugs.webkit.org/show_bug.cgi?id=88510 18487 18488 Reviewed by Adam Barth. 18489 18490 Chromium doesn't support JSC any more and there doesn't seem to be 18491 a strong interest in using GYP as the common build system in other 18492 ports. 18493 18494 * WTF.gyp/WTF.gyp: 18495 184962012-06-08 Andy Wingo <wingo@igalia.com> 18497 18498 Explictly mark stubs called by JIT as being internal 18499 https://bugs.webkit.org/show_bug.cgi?id=88552 18500 18501 Reviewed by Filip Pizlo. 18502 18503 * wtf/ExportMacros.h (WTF_INTERNAL, HAVE_INTERNAL_VISIBILITY): New 18504 defines. Regardless of what the port does about visibility in 18505 general, for code referenced only from assembly it is useful to 18506 give it internal visibility. 18507 * wtf/InlineASM.h: Split SYMBOL_STRING_RELOCATION into 18508 LOCAL_REFERENCE and GLOBAL_REFERENCE; the former will try to avoid 18509 indirection if HAVE(INTERNAL_VISIBILITY). 18510 185112012-06-07 Csaba Osztrogonác <ossy@webkit.org> 18512 18513 [Qt][Win] Fix linking WTF with ICU 18514 https://bugs.webkit.org/show_bug.cgi?id=88302 18515 18516 Reviewed by Simon Hausmann. 18517 18518 * WTF.pri: Use proper library names on win32 platforms. 18519 185202012-06-06 Michael Saboff <msaboff@apple.com> 18521 18522 ENH: Add Logging to GC Marking Phase 18523 https://bugs.webkit.org/show_bug.cgi?id=88364 18524 18525 Reviewed by Filip Pizlo. 18526 18527 * wtf/DataLog.cpp: 18528 (WTF::dataLogString): Additional method to support GC Mark logging. 18529 * wtf/DataLog.h: 18530 * wtf/Platform.h: New ENABLE_OBJECT_MARK_LOGGING flag macro. 18531 185322012-06-06 Andy Wingo <wingo@igalia.com> 18533 18534 [GTK] Enable the LLInt 18535 https://bugs.webkit.org/show_bug.cgi?id=88315 18536 18537 Reviewed by Filip Pizlo. 18538 18539 * wtf/InlineASM.h: Add an implementation of LOCAL_LABEL_STRING for 18540 OS(LINUX). 18541 * wtf/Platform.h: Add OS(LINUX) to the set of operating systems 18542 for ENABLE_LLINT. Add a specific check for PLATFORM(MAC) or 18543 PLATFORM(IOS), and add to that a check for PLATFORM(GTK). 18544 185452012-06-05 Roland Takacs <takacs.roland@stud.u-szeged.hu> 18546 18547 [Qt] Use GraphicsContext3DOpenGLES.cpp when using OpenGL ES 18548 https://bugs.webkit.org/show_bug.cgi?id=78720 18549 18550 Reviewed by Noam Rosenthal. 18551 18552 Defined a global Opengl ES macro to check OpenGL ES on every platforms. 18553 18554 * wtf/Platform.h: 18555 185562012-06-04 Takashi Toyoshima <toyoshim@chromium.org> 18557 18558 [WebSocket] Send requires super linear time against data size 18559 https://bugs.webkit.org/show_bug.cgi?id=87383 18560 18561 Reviewed by Kent Tamura. 18562 18563 * wtf/StreamBuffer.h: Added. 18564 (WTF): 18565 (StreamBuffer): 18566 (WTF::StreamBuffer::StreamBuffer): 18567 (WTF::StreamBuffer::~StreamBuffer): 18568 (WTF::StreamBuffer::isEmpty): 18569 (WTF::StreamBuffer::append): 18570 (WTF::StreamBuffer::consume): 18571 (WTF::StreamBuffer::size): 18572 (WTF::StreamBuffer::firstBlockData): 18573 (WTF::StreamBuffer::firstBlockSize): 18574 185752012-06-04 Patrick Gansterer <paroga@webkit.org> 18576 18577 Port RAMSize to WinCE 18578 https://bugs.webkit.org/show_bug.cgi?id=87854 18579 18580 Reviewed by Geoffrey Garen. 18581 18582 WinCE has no GlobalMemoryStatusEx() function. Use GlobalMemoryStatus() instead. 18583 18584 * wtf/RAMSize.cpp: 18585 (WTF::computeRAMSize): 18586 185872012-06-01 Xianzhu Wang <wangxianzhu@chromium.org> 18588 18589 Remove dependency from ImageDiff to WTF 18590 https://bugs.webkit.org/show_bug.cgi?id=88147 18591 18592 Reviewed by Adam Barth. 18593 18594 * WTF.gyp/WTF.gyp: 18595 185962012-06-01 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 18597 18598 [Qt] Save one copy when going from 8-bit WTF::String to QString 18599 18600 Asking for characters() of an 8-bit string will make a 16-bit copy internally 18601 in WTF::String. Since we're going to copy the data to QStringData anyways, which 18602 is 16-bit, we can do the conversion ourselves and save one copy. 18603 18604 Reviewed by Simon Hausmann. 18605 18606 * wtf/qt/StringQt.cpp: 18607 (WTF::String::operator QString): 18608 186092012-05-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 18610 18611 [Qt] Make conversion from QString to WTF::String (and back again) ~free 18612 18613 https://bugs.webkit.org/show_bug.cgi?id=87847 18614 18615 Instead of copying the QString data when converting to a WTF::String we 18616 make the WTF::String adopt the QString data by introducing a new buffer 18617 ownership type, and pointing the internal WTF::StringImpl 16-bit data 18618 member to the string data managed by QStringData. 18619 18620 We make sure to reference the QStringData when adopting, so that the 18621 data will stay alive, and then dereference it when the WTF::StringImpl 18622 is deleted, which will free the QStringData (either straight away, if 18623 we're the only one holding a reference still, or later, when the ref 18624 count goes to 0). 18625 18626 In the case of going back from a WTF::String to a QString we can cheat 18627 a bit (avoid a copy), if we know that the WTF::String was adopted from 18628 a QString, since it's then just a matter of having the QString adopt 18629 the existing QStringData (just like a regular QString copy). 18630 18631 If the WTF::String buffer is not owned by QStringData, eg a regular 18632 8-bit or 16-bit string/substring, we have to fall back to copying, 18633 as before (though there are potential optimization tricks we can 18634 apply here later on). 18635 18636 Reviewed by Gavin Barraclough. 18637 18638 * wtf/qt/StringQt.cpp: 18639 * wtf/text/StringImpl.cpp: 18640 * wtf/text/StringImpl.h: 18641 186422012-06-01 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 18643 18644 [EFL] Implement PlatformStrategies 18645 https://bugs.webkit.org/show_bug.cgi?id=86946 18646 18647 Reviewed by Carlos Garcia Campos. 18648 18649 * wtf/Platform.h: Enable PLATFORM_STRATEGIES for EFL platform. 18650 186512012-05-31 Anders Carlsson <andersca@apple.com> 18652 18653 Enable support for rvalue references when building with a version of clang that supports them 18654 https://bugs.webkit.org/show_bug.cgi?id=88018 18655 18656 Re-enable support for rvalue references when building with a version of Xcode newer than 4.2. 18657 18658 * wtf/Compiler.h: 18659 186602012-05-31 Filip Pizlo <fpizlo@apple.com> 18661 18662 DataLog should be usable outside of JSC 18663 https://bugs.webkit.org/show_bug.cgi?id=88015 18664 18665 Reviewed by Oliver Hunt. 18666 18667 * wtf/DataLog.h: 18668 (WTF): 18669 186702012-05-31 Anders Carlsson <andersca@apple.com> 18671 18672 Disable support for rvalue references until I figure out why this is breaking the Xcode 4.2 build. 18673 18674 * wtf/Compiler.h: 18675 186762012-05-31 Anders Carlsson <andersca@apple.com> 18677 18678 Vector should have a move constructor and move assignment operator 18679 https://bugs.webkit.org/show_bug.cgi?id=87997 18680 18681 Reviewed by Andreas Kling. 18682 18683 * wtf/Compiler.h: 18684 Use __has_extension so we can use move semantics and other C++11 features even when building as C++98. 18685 18686 * wtf/Vector.h: 18687 Add a move constructor and a move assignment operator to Vector. 18688 186892012-05-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 18690 18691 [Qt] Simplify QT_VERSION_CHECKS for Qt5 by introducing HAVE(QT5) 18692 https://bugs.webkit.org/show_bug.cgi?id=87955 18693 18694 Reviewed by Simon Hausmann. 18695 18696 * wtf/qt/UtilsQt.h: 18697 186982012-05-30 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 18699 18700 HashTable.h has using directives for std::pair and std::make_pair 18701 https://bugs.webkit.org/show_bug.cgi?id=29919 18702 18703 Reviewed by Darin Adler. 18704 18705 * wtf/HashTraits.h: 18706 (WTF): Remove the directives. 18707 187082012-05-30 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 18709 18710 HashTable.h has using directives for std::pair and std::make_pair 18711 https://bugs.webkit.org/show_bug.cgi?id=29919 18712 18713 Reviewed by Darin Adler. 18714 18715 Change code to use std::pair and std::make_pair. Later patch will remove the 18716 'using' directives. 18717 18718 * wtf/HashTable.h: 18719 (WTF::hashTableSwap): 18720 (HashTable): 18721 * wtf/HashTraits.h: 18722 (PairHashTraits): 18723 (WTF::PairHashTraits::emptyValue): 18724 187252012-05-30 Patrick Gansterer <paroga@webkit.org> 18726 18727 Build fix for WinCE after r118603. 18728 18729 * wtf/Atomics.h: 18730 (WTF::weakCompareAndSwap): 18731 187322012-05-29 Anders Carlsson <andersca@apple.com> 18733 18734 String should be move enabled/optimized 18735 https://bugs.webkit.org/show_bug.cgi?id=87596 18736 18737 Reviewed by Andreas Kling. 18738 18739 Add move constructors and move assignment operators to String and AtomicString when building with 18740 compilers that support rvalue references. This gets rid of ref-churn when the source of the 18741 constructor or assignment is a temporary object. 18742 18743 * wtf/text/AtomicString.h: 18744 (AtomicString): 18745 (WTF::AtomicString::AtomicString): 18746 (WTF::AtomicString::operator=): 18747 * wtf/text/WTFString.h: 18748 (String): 18749 (WTF::String::String): 18750 (WTF::String::operator=): 18751 187522012-05-29 Alexandre Elias <aelias@google.com> 18753 18754 Support WebKit log messages on Android 18755 https://bugs.webkit.org/show_bug.cgi?id=87773 18756 18757 Reviewed by Darin Adler. 18758 18759 This sends WebKit log messages to the Android "logcat" facility, as 18760 Android sends stderr to /dev/null. 18761 18762 * wtf/Assertions.cpp: 18763 187642012-05-29 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 18765 18766 [Qt] Remove duplication of logic for disabling selected warnings related to C++11 18767 18768 This is already handled in unix/default_post.prf 18769 18770 Reviewed by Simon Hausmann. 18771 18772 * WTF.pro: 18773 187742012-05-27 Darin Adler <darin@apple.com> 18775 18776 Fix an incorrect assertion in Vector::remove 18777 https://bugs.webkit.org/show_bug.cgi?id=87612 18778 18779 Reviewed by Dan Bernstein. 18780 18781 * wtf/Vector.h: There's no good reason to disallow calling remove 18782 with a size of 0, even when the position is at the end of the vector, 18783 so changed the two-argument Vector::remove assertion to assert that 18784 the position is <= size rather than < size. 18785 187862012-05-27 Yoshifumi Inoue <yosin@chromium.org> 18787 18788 [WTF] Introduce UINT64_C to MathExtras.h 18789 https://bugs.webkit.org/show_bug.cgi?id=87485 18790 18791 Reviewed by Kent Tamura. 18792 18793 * wtf/MathExtras.h: 18794 187952012-05-25 Filip Pizlo <fpizlo@apple.com> 18796 18797 weakCompareAndSwap should work on Windows 18798 https://bugs.webkit.org/show_bug.cgi?id=87549 18799 18800 Reviewed by Jessie Berlin. 18801 18802 * wtf/Atomics.h: 18803 (WTF): 18804 (WTF::weakCompareAndSwap): 18805 188062012-05-24 Allan Sandfeld Jensen <allan.jensen@nokia.com> 18807 18808 cti_vm_throw gets kicked out by gcc 4.6 -flto 18809 https://bugs.webkit.org/show_bug.cgi?id=56088 18810 18811 Reviewed by Darin Adler. 18812 18813 Define REFERENCED_FROM_ASM to __attribute__((used)) on GCC. 18814 18815 * wtf/Compiler.h: 18816 188172012-05-23 Darin Adler <darin@apple.com> 18818 18819 Optimize iteration of empty hash tables 18820 https://bugs.webkit.org/show_bug.cgi?id=87215 18821 18822 Reviewed by Geoffrey Garen. 18823 18824 Iteration of empty hash tables was showing up on simple page loading 18825 profiles due to the use of hash tables in the 18826 NodeListsNodeData::invalidateCaches and 18827 NodeListsNodeData::invalidateCachesThatDependOnAttributes functions. 18828 It's worth optimizing the case of an empty table. 18829 18830 * wtf/HashTable.h: 18831 (WTF::HashTable::begin): Return the known-good end iterator when the 18832 table is empty. This makes iterating an empty table faster because we 18833 avoid skipping empty and deleted buckets. 18834 188352012-05-22 Geoffrey Garen <ggaren@apple.com> 18836 18837 Build fix. 18838 18839 * wtf/RAMSize.cpp: 18840 (WTF::computeRAMSize): sysctl expects a uint64_t, so use that and then 18841 cast back to size_t. Since it's coneivable that a 32bit process would 18842 run on a system with more than 4GB RAM, I added a paranoid check for 18843 that condition. 18844 188452012-05-22 Jessie Berlin <jberlin@apple.com> 18846 18847 Build fix. 18848 18849 * wtf/RAMSize.cpp: 18850 (WTF::computeRAMSize): 18851 If you say you are going to return a size_t, actually return a size_t. 18852 188532012-05-21 Geoffrey Garen <ggaren@apple.com> 18854 18855 GC allocation trigger should be tuned to system RAM 18856 https://bugs.webkit.org/show_bug.cgi?id=87039 18857 18858 Reviewed by Darin Adler. 18859 18860 Added a helper function for measuring system RAM. 18861 18862 * GNUmakefile.list.am: 18863 * WTF.gypi: 18864 * WTF.pro: 18865 * WTF.vcproj/WTF.vcproj: 18866 * WTF.xcodeproj/project.pbxproj: 18867 * wtf/AmountOfRAM.cpp: Added. 18868 (WTF): 18869 (WTF::computeAmountOfRAM): 18870 (WTF::amountOfRAM): 18871 * wtf/AmountOfRAM.h: Added. 18872 (WTF): 18873 * wtf/CMakeLists.txt: 18874 * wtf/StdLibExtras.h: 18875 (WTF): 18876 188772012-05-22 Allan Sandfeld Jensen <allan.jensen@nokia.com> 18878 18879 GCC 4.7 and C++11 support. 18880 https://bugs.webkit.org/show_bug.cgi?id=86465 18881 18882 Reviewed by Darin Adler. 18883 18884 Detect C++11 mode in GCC 4.7 and set appropiate compiler feature flags. 18885 Turn C++11 override control into a compiler feature flag. 18886 Fix non-clang support of compiler feature CXX_DELETED_FUNCTIONS. 18887 18888 * wtf/Compiler.h: 18889 * wtf/Noncopyable.h: 18890 188912012-05-22 Filip Pizlo <fpizlo@apple.com> 18892 18893 REGRESSION(r117861): It made almost all tests crash on Qt 18894 https://bugs.webkit.org/show_bug.cgi?id=87082 18895 18896 Reviewed by Csaba Osztrogonác. 18897 18898 Using OwnArrayPtr is a bad idea if you allocate array with fastCalloc. 18899 18900 * wtf/FastBitVector.h: 18901 (WTF::FastBitVector::FastBitVector): 18902 (WTF::FastBitVector::~FastBitVector): 18903 (FastBitVector): 18904 (WTF::FastBitVector::operator=): 18905 (WTF::FastBitVector::resize): 18906 (WTF::FastBitVector::setAll): 18907 (WTF::FastBitVector::clearAll): 18908 (WTF::FastBitVector::set): 18909 189102012-05-21 Filip Pizlo <fpizlo@apple.com> 18911 18912 DFG should be able to compute dominators 18913 https://bugs.webkit.org/show_bug.cgi?id=85269 18914 18915 Reviewed by Oliver Hunt. 18916 18917 Merged r115754 from dfgopt. 18918 18919 Added a bitvector class suitable for cheap static analysis. This class 18920 differs from BitVector in that instead of optimizing for space, it 18921 optimizes for execution time. Its API is also somewhat less friendly, 18922 which is intentional; it's meant to be used in places where you know 18923 up front how bit your bitvectors are going to be. 18924 18925 * GNUmakefile.list.am: 18926 * WTF.vcproj/WTF.vcproj: 18927 * WTF.xcodeproj/project.pbxproj: 18928 * wtf/FastBitVector.h: Added. 18929 (WTF): 18930 (FastBitVector): 18931 (WTF::FastBitVector::FastBitVector): 18932 (WTF::FastBitVector::operator=): 18933 (WTF::FastBitVector::numBits): 18934 (WTF::FastBitVector::resize): 18935 (WTF::FastBitVector::setAll): 18936 (WTF::FastBitVector::clearAll): 18937 (WTF::FastBitVector::set): 18938 (WTF::FastBitVector::setAndCheck): 18939 (WTF::FastBitVector::equals): 18940 (WTF::FastBitVector::merge): 18941 (WTF::FastBitVector::filter): 18942 (WTF::FastBitVector::exclude): 18943 (WTF::FastBitVector::clear): 18944 (WTF::FastBitVector::get): 18945 (WTF::FastBitVector::arrayLength): 18946 189472012-05-15 Gavin Barraclough <barraclough@apple.com> 18948 18949 Add support for private names 18950 https://bugs.webkit.org/show_bug.cgi?id=86509 18951 18952 Reviewed by Oliver Hunt. 18953 18954 The spec isn't final, but we can start adding support to allow property maps 18955 to contain keys that aren't identifiers. 18956 18957 * wtf/text/StringImpl.h: 18958 (WTF::StringImpl::StringImpl): 18959 (StringImpl): 18960 (WTF::StringImpl::createEmptyUnique): 18961 (WTF::StringImpl::isEmptyUnique): 18962 - Allow empty string impls to be allocated, which can be used as unique keys. 18963 189642012-05-21 Emil A Eklund <eae@chromium.org> and Levi Weintraub <leviw@chromium.org> 18965 18966 Enable SUBPIXEL_LAYOUT feature flag on Chromium 18967 https://bugs.webkit.org/show_bug.cgi?id=85555 18968 18969 Reviewed by Eric Seidel. 18970 18971 Enabling sub-pixel layout on Chromium port. 18972 18973 * wtf/Platform.h: 18974 189752012-05-21 Andreas Kling <kling@webkit.org> 18976 18977 CSS: Move duplicate property elimination to parser. 18978 <http://webkit.org/b/86948> 18979 18980 Reviewed by Antti Koivisto. 18981 18982 Add WTF::BitArray, a simple, malloc free, fixed-size bit array class. 18983 18984 * GNUmakefile.list.am: 18985 * WTF.gypi: 18986 * WTF.pro: 18987 * WTF.vcproj/WTF.vcproj: 18988 * WTF.xcodeproj/project.pbxproj: 18989 * wtf/BitArray.h: Added. 18990 (WTF): 18991 (BitArray): 18992 (WTF::BitArray::BitArray): 18993 (WTF::BitArray::set): 18994 (WTF::BitArray::get): 18995 * wtf/CMakeLists.txt: 18996 189972012-05-21 Allan Sandfeld Jensen <allan.jensen@nokia.com> 18998 18999 Colliding isinf/isnan between C99 and C++11 with GCC >=4.6 19000 https://bugs.webkit.org/show_bug.cgi?id=59249 19001 19002 Reviewed by Darin Adler. 19003 19004 Workaround the isinf and isnan conflict in GCC C++11. 19005 19006 * wtf/Compiler.h: 19007 * wtf/MathExtras.h: 19008 (std::wtf_isinf): 19009 (std::wtf_isnan): 19010 190112012-05-21 Andreas Kling <kling@webkit.org> 19012 19013 REGRESSION(r117501): IconDatabase asserts on startup in synchronousIconForPageURL(). 19014 <http://webkit.org/b/86935> 19015 <rdar://problem/11480012> 19016 19017 Reviewed by Anders Carlsson. 19018 19019 Added a swap() to HashCountedSet. 19020 19021 * wtf/HashCountedSet.h: 19022 (HashCountedSet::swap): 19023 190242012-05-16 Geoffrey Garen <ggaren@apple.com> 19025 19026 This is not a joke: 3.7X speedup from removing a call to sleep 19027 https://bugs.webkit.org/show_bug.cgi?id=86702 19028 19029 Reviewed by Eric Seidel. 19030 19031 The speedup was on a GC benchmark, with a custom VM caching layer 19032 not in TOT yet. 19033 19034 Instruments showed most GC threads spending the majority of their 19035 time sleeping instead of doing useful work. Removing the call to 19036 sleep sped up the benchmark. 19037 19038 * wtf/TCSpinLock.h: 19039 (TCMalloc_SlowLock): Since a spin lock is only ever held for a short 19040 amount of time, don't sleep for a long amount of time waiting for it 19041 to unlock -- yielding to the scheduler is sufficient. 19042 19043 If we find a case where someone is sitting on a spin lock for over 2ms, 19044 we should fix the spin lock holder, not the spin lock. 19045 190462012-05-16 Simon Fraser <simon.fraser@apple.com> 19047 19048 Make things build with DUMP_HASHTABLE_STATS=1 19049 https://bugs.webkit.org/show_bug.cgi?id=86571 19050 19051 Reviewed by Geoffrey Garen. 19052 19053 DUMP_HASHTABLE_STATS bitrotted after the WTF separation. This patch 19054 makes it build. 19055 19056 Added WTF_EXPORTDATA to the global data, and WTF_EXPORT_PRIVATE to 19057 the static HashTableStats methods. Added a dumpStats() method 19058 that is not yet called anywhere; we can no longer rely on destroying 19059 a global object to dump the stats because global destructors are 19060 disallowed. 19061 19062 * wtf/HashTable.cpp: 19063 (WTF): 19064 (WTF::HashTableStats::recordCollisionAtCount): 19065 (WTF::HashTableStats::dumpStats): 19066 * wtf/HashTable.h: 19067 (HashTableStats): 19068 190692012-05-15 Filip Pizlo <fpizlo@apple.com> 19070 19071 shrinkToFit() is often not called for Vectors in CodeBlock 19072 https://bugs.webkit.org/show_bug.cgi?id=86436 19073 19074 Reviewed by Oliver Hunt. 19075 19076 Gave SegmentedVector a shrinkToFit() method. This only shrinks the segment 19077 lookup table, which is likely to not be hugely profitable, but it is better 19078 than nothing. 19079 19080 * wtf/SegmentedVector.h: 19081 (SegmentedVector): 19082 (WTF::SegmentedVector::shrinkToFit): 19083 190842012-05-15 Andy Estes <aestes@apple.com> 19085 19086 Add WTF_USE_SECURITY_FRAMEWORK and use it in place of the less specific PLATFORM(MAC) 19087 https://bugs.webkit.org/show_bug.cgi?id=86508 19088 19089 Reviewed by Sam Weinig. 19090 19091 * wtf/Platform.h: 19092 190932012-05-15 Zoltan Herczeg <zherczeg@webkit.org> 19094 19095 NEONizing forceValidPreMultipliedPixels 19096 https://bugs.webkit.org/show_bug.cgi?id=86468 19097 19098 Reviewed by Nikolas Zimmermann. 19099 19100 Allow to disable all intrinsics with a single macro. 19101 19102 * wtf/Platform.h: 19103 191042012-05-14 Andy Estes <aestes@apple.com> 19105 19106 Add WTF_USE_APPKIT to differentiate platforms that use AppKit.framework from other Darwin platforms 19107 https://bugs.webkit.org/show_bug.cgi?id=86432 19108 19109 Reviewed by Maciej Stachowiak. 19110 19111 * wtf/Platform.h: 19112 191132012-05-14 Mark Rowe <mrowe@apple.com> 19114 19115 <http://webkit.org/b/86320> WTF.xcodeproj builds with -O3 in debug builds 19116 19117 Reviewed by Simon Fraser. 19118 19119 * WTF.xcodeproj/project.pbxproj: Ensure that the debug configuration uses the 19120 same settings as the debug variant would. 19121 191222012-05-14 Wei James <james.wei@intel.com> 19123 19124 [Chromium] ImageDiff should be build for host on Android 19125 https://bugs.webkit.org/show_bug.cgi?id=82039 19126 19127 Reviewed by Adam Barth. 19128 19129 * WTF.gyp/WTF.gyp: 19130 191312012-05-14 Yong Li <yoli@rim.com> 19132 19133 DFG JIT is not ARM EABI compatible 19134 https://bugs.webkit.org/show_bug.cgi?id=84449 19135 19136 Reviewed by Filip Pizlo. 19137 19138 Add COMPILER_SUPPORTS(EABI) when __ARM_EABI__ 19139 or __EABI__ is defined. 19140 19141 * wtf/Compiler.h: 19142 191432012-05-10 Michał Pakuła vel Rutka <m.pakula@samsung.com> 19144 19145 [EFL] Add OwnPtr specialization for Eina_Hash. 19146 https://bugs.webkit.org/show_bug.cgi?id=85046 19147 19148 Reviewed by Andreas Kling. 19149 19150 Add an override for Eina_Hash for EFL port. 19151 19152 * wtf/OwnPtrCommon.h: 19153 (WTF): 19154 * wtf/efl/OwnPtrEfl.cpp: 19155 (WTF::deleteOwnedPtr): 19156 (WTF): 19157 191582012-05-09 Filip Pizlo <fpizlo@apple.com> 19159 19160 It should be possible to get useful debug logging from the JIT memory allocator 19161 https://bugs.webkit.org/show_bug.cgi?id=86042 19162 19163 Reviewed by Geoff Garen. 19164 19165 * wtf/MetaAllocator.cpp: 19166 (WTF::MetaAllocator::findAndRemoveFreeSpace): 19167 (WTF::MetaAllocator::addFreeSpace): 19168 (WTF::MetaAllocator::dumpProfile): 19169 191702012-05-08 Sheriff Bot <webkit.review.bot@gmail.com> 19171 19172 Unreviewed, rolling out r116440. 19173 http://trac.webkit.org/changeset/116440 19174 https://bugs.webkit.org/show_bug.cgi?id=85904 19175 19176 Broke the Chromium Android bot (Requested by beverloo on 19177 #webkit). 19178 19179 * WTF.gyp/WTF.gyp: 19180 191812012-05-08 Adam Barth <abarth@webkit.org> 19182 19183 [Chromium] OS(ANDROID) ImageDiff requires us to build WTF for both host and target 19184 https://bugs.webkit.org/show_bug.cgi?id=85897 19185 19186 Reviewed by Tony Chang. 19187 19188 * WTF.gyp/WTF.gyp: 19189 191902012-05-08 Adam Barth <abarth@webkit.org> 19191 19192 [Chromium] Assertions.cpp should work on OS(ANDROID) 19193 https://bugs.webkit.org/show_bug.cgi?id=85867 19194 19195 Reviewed by Eric Seidel. 19196 19197 Some minor ifdefs for OS(ANDROID) on PLATFORM(CHROMIUM). 19198 19199 * wtf/Assertions.cpp: 19200 192012012-05-07 Adam Barth <abarth@webkit.org> 19202 19203 [Chromium] Android wishes to use an empty implementation if AXObjectCache 19204 https://bugs.webkit.org/show_bug.cgi?id=85842 19205 19206 Reviewed by Eric Seidel. 19207 19208 Disable accessibility on OS(ANDROID) for PLATFORM(CHROMIUM). 19209 19210 * wtf/Platform.h: 19211 192122012-05-04 Jeff Rogers <jrogers@rim.com> 19213 19214 [BlackBerry] Implement numberOfProcessorCores() for QNX 19215 https://bugs.webkit.org/show_bug.cgi?id=85638 19216 19217 Reviewed by Antonio Gomes. 19218 19219 * wtf/NumberOfCores.cpp: 19220 (WTF::numberOfProcessorCores): 19221 192222012-05-03 Yong Li <yoli@rim.com> 19223 19224 Mutex failure when HashTable is memory moved in debug build 19225 https://bugs.webkit.org/show_bug.cgi?id=84970 19226 19227 Reviewed by Rob Buis. 19228 19229 1. Replace m_mutex with OwnPtr<m_mutex> so HashTable is still 19230 memory movable in debug build. 19231 2. Assert successes of pthread_mutex_init() and pthread_mutex_destroy(). 19232 19233 * wtf/HashTable.h: 19234 (HashTable): 19235 (WTF::::HashTable): 19236 (WTF::::invalidateIterators): 19237 (WTF::addIterator): 19238 (WTF::removeIterator): 19239 * wtf/ThreadingPthreads.cpp: 19240 (WTF::Mutex::Mutex): 19241 (WTF::Mutex::~Mutex): 19242 192432012-05-02 Antti Koivisto <antti@apple.com> 19244 19245 Add temporary feature define for parsed stylesheet caching 19246 https://bugs.webkit.org/show_bug.cgi?id=85413 19247 19248 Rubber-stamped by Nikolas Zimmermann. 19249 19250 While not an externally visible feature this is still a significant internal change. 19251 It is good to have define in case someone has an urgent need to turn it off. 19252 19253 Caching is enabled by default on all platforms. The define should be removed after some bake time. 19254 19255 * wtf/Platform.h: 19256 192572012-05-02 Lauro Neto <lauro.neto@openbossa.org> 19258 19259 [Qt]r57240 broke Qt build (gcc bug) 19260 https://bugs.webkit.org/show_bug.cgi?id=37253 19261 19262 Reviewed by Csaba Osztrogonác. 19263 19264 Add back the inline hack just for ARM due to old version of 19265 gcc still being used on Harmattan SDK. Thanks to Ossy for the 19266 suggestion. 19267 * wtf/PassRefPtr.h: 19268 (WTF): 19269 192702012-05-02 Nico Weber <thakis@chromium.org> 19271 19272 Let WebKit parse with clang on windows with -std=c++11 19273 https://bugs.webkit.org/show_bug.cgi?id=85398 19274 19275 Reviewed by Ryosuke Niwa. 19276 19277 See http://trac.webkit.org/changeset/85945 for background on the line 19278 I'm changing. With clang, __GXX_EXPERIMENTLAL_CXX0X__ is set in c++11 19279 mode, but MSVC's c++ library doesn't have a tr1/memory header. So also 19280 check for __GLIBCXX__, like it's done in the rest of this file. 19281 19282 * wtf/TypeTraits.h: 19283 192842012-05-02 Adenilson Cavalcanti <cavalcantii@gmail.com> 19285 19286 [Qt]r57240 broke Qt build (gcc bug) 19287 https://bugs.webkit.org/show_bug.cgi?id=37253 19288 19289 Reviewed by Noam Rosenthal. 19290 19291 Removing workaround macro since current gcc/Qt doesn't require it to compile. 19292 19293 * wtf/PassRefPtr.h: 19294 (WTF): 19295 192962012-04-30 Oliver Hunt <oliver@apple.com> 19297 19298 Investigate overflows in Canvas putImageData routine 19299 https://bugs.webkit.org/show_bug.cgi?id=61373 19300 19301 Reviewed by Gavin Barraclough. 19302 19303 Allow floating point multiplies of checked types (complete with 19304 bounds checks). 19305 19306 * wtf/CheckedArithmetic.h: 19307 (Checked): 19308 (WTF::Checked::operator*=): 19309 193102012-04-30 Benjamin Poulain <benjamin@webkit.org> 19311 19312 Add String::startsWith() and endsWith() for string literals 19313 https://bugs.webkit.org/show_bug.cgi?id=85154 19314 19315 Reviewed by Darin Adler. 19316 19317 When invoking StringImpl::startsWidth() or StringImpl::endsWith() with 19318 a string literal, a new String was constructed implicitly, allocating 19319 a new StringImpl and copying the characters for the operation. 19320 19321 This patch adds a version of those methods for single characters and 19322 string literals. 19323 This allows us to avoid allocating memory and use the characters in place, 19324 and it permits some extra shortcuts in the implementation. 19325 19326 * wtf/text/AtomicString.h: 19327 (WTF::AtomicString::startsWith): 19328 (AtomicString): 19329 (WTF::AtomicString::endsWith): 19330 * wtf/text/StringImpl.cpp: 19331 (WTF::equalInner): 19332 (WTF): 19333 (WTF::StringImpl::startsWith): 19334 (WTF::StringImpl::endsWith): 19335 * wtf/text/StringImpl.h: 19336 (WTF::StringImpl::startsWith): 19337 (StringImpl): 19338 (WTF::StringImpl::endsWith): 19339 * wtf/text/WTFString.h: 19340 (WTF::String::startsWith): 19341 (String): 19342 (WTF::String::endsWith): 19343 193442012-04-30 Anders Carlsson <andersca@apple.com> 19345 19346 WTF::bind should work with blocks 19347 https://bugs.webkit.org/show_bug.cgi?id=85227 19348 19349 Reviewed by Sam Weinig. 19350 19351 Add a block type FunctionWrapper specialization. 19352 19353 * wtf/Functional.h: 19354 193552012-04-28 Emil A Eklund <eae@chromium.org> 19356 19357 Add ENABLE_SUBPIXEL_LAYOUT controlling FractionalLayoutUnit denominator 19358 https://bugs.webkit.org/show_bug.cgi?id=85146 19359 19360 Reviewed by Eric Seidel. 19361 19362 Add a new flag for controlling the fixed point denominator in 19363 FractionalLayoutUnit. Controls whether the denominator is set to 60 or 1. 19364 Until we change the LayoutUnit typedef this change will have no effect. 19365 19366 * wtf/Platform.h: 19367 193682012-04-29 Kent Tamura <tkent@chromium.org> 19369 19370 [Mac] Add LocalizedDateMac 19371 https://bugs.webkit.org/show_bug.cgi?id=85039 19372 19373 Reviewed by Kentaro Hara. 19374 19375 * wtf/DateMath.h: 19376 (WTF): Add monthFullName[]. It is useful to make fallback month 19377 names for calendar/date related features. 19378 193792012-04-26 Carlos Garcia Campos <cgarcia@igalia.com> 19380 19381 [SOUP] Add a way to register custom uri schemes in WebKit2 19382 https://bugs.webkit.org/show_bug.cgi?id=84130 19383 19384 Reviewed by Martin Robinson. 19385 19386 Add GPtrArray template to be able to use GRefPtr with GPtrArrays. 19387 19388 * wtf/gobject/GRefPtr.cpp: 19389 (WTF::refGPtr): 19390 (WTF): 19391 (WTF::derefGPtr): 19392 * wtf/gobject/GRefPtr.h: 19393 (WTF): 19394 * wtf/gobject/GTypedefs.h: 19395 193962012-04-26 Nico Weber <thakis@chromium.org> 19397 19398 Don't define WTF_COMPILER_SUPPORTS_CXX_NULLPTR twice when building with clang on windows. 19399 https://bugs.webkit.org/show_bug.cgi?id=85018 19400 19401 Reviewed by Anders Carlsson. 19402 19403 Clang sets _MSC_VER when compiling for a -pc-win32 target (just like it sets __GNUC__ on unix). 19404 As a result, WTF_COMPILER_SUPPORTS_CXX_NULLPTR gets currently set twice, once for clang and 19405 once for _MSC_VER. Guard the second instance with !COMPILER(CLANG). This matches the gcc code 19406 for WTF_COMPILER_SUPPORTS_CXX_NULLPTR in the same file. 19407 19408 * wtf/Compiler.h: 19409 194102012-04-26 Antonio Gomes <agomes@rim.com> 19411 19412 [BlackBerry] properly disable DRAG_SUPPORT 19413 https://bugs.webkit.org/show_bug.cgi?id=84952 19414 19415 Reviewed by Daniel Bates. 19416 19417 * wtf/Platform.h: Remove the line that disables drag support from here 19418 for the BlackBerry port. 19419 194202012-04-25 Benjamin Poulain <benjamin@webkit.org> 19421 19422 Add a version of StringImpl::find() without offset 19423 https://bugs.webkit.org/show_bug.cgi?id=83968 19424 19425 Reviewed by Sam Weinig. 19426 19427 This patch add a version of StringImpl::find() without offset, Instead of using the default 19428 value for the index. 19429 19430 By not having the index, we can skip a couple of branches and a few instructions. This gives 19431 significant gains when the strings are short-ish. 19432 19433 The case of empty string is moved below (matchLength == 1) since it is a less common operation. 19434 19435 * wtf/text/StringImpl.cpp: 19436 (WTF::StringImpl::find): 19437 (WTF): 19438 * wtf/text/StringImpl.h: 19439 (StringImpl): 19440 * wtf/text/WTFString.h: 19441 (String): 19442 (WTF::String::find): 19443 194442012-04-25 Darin Adler <darin@apple.com> 19445 19446 Iterating a HashMap<String, X> involves a string equality comparison to check for the empty value 19447 https://bugs.webkit.org/show_bug.cgi?id=84524 19448 19449 Reviewed by Antti Koivisto. 19450 19451 * wtf/HashMap.h: Added a struct template, HashMapValueTraits, that derives from 19452 PairHashTraits, adds an isEmptyValue function that looks only at the key, not 19453 the mapped value, in the hash table value, and uses the isHashTraitsEmptyValue 19454 function template to check if the key is empty. 19455 194562012-04-25 Landry Breuil <landry@openbsd.org> 19457 19458 Include <sys/param.h>, needed for sysctl() on OpenBSD/NetBSD 19459 https://bugs.webkit.org/show_bug.cgi?id=82585 19460 19461 Reviewed by Zoltan Herczeg. 19462 19463 * wtf/NumberOfCores.cpp: include <sys/param.h> on the BSDs 19464 194652012-04-25 Kenneth Russell <kbr@google.com> 19466 19467 Delete CanvasPixelArray, ByteArray, JSByteArray and JSC code once unreferenced 19468 https://bugs.webkit.org/show_bug.cgi?id=83655 19469 19470 Reviewed by Oliver Hunt. 19471 19472 * GNUmakefile.list.am: 19473 * WTF.gypi: 19474 * WTF.pro: 19475 * WTF.vcproj/WTF.vcproj: 19476 * WTF.xcodeproj/project.pbxproj: 19477 * wtf/ByteArray.cpp: Removed. 19478 * wtf/ByteArray.h: Removed. 19479 * wtf/CMakeLists.txt: 19480 194812012-04-25 Philippe Normand <pnormand@igalia.com> 19482 19483 Webkit build fails due to missing gstreamer include file on Kubuntu 8.04 19484 https://bugs.webkit.org/show_bug.cgi?id=81913 19485 19486 Reviewed by Tor Arne Vestbø. 19487 19488 * WTF.pri: GStreamer build support implies GLib support, as it's 19489 done in WebCore.pri. 19490 194912012-04-24 Benjamin Poulain <bpoulain@apple.com> 19492 19493 Generalize the single character optimization of r114072 19494 https://bugs.webkit.org/show_bug.cgi?id=83961 19495 19496 Reviewed by Eric Seidel. 19497 19498 This patch makes some improvment over String::find() in the case of lookup for a single 19499 character. 19500 19501 The two function find(UChar|LChar) are replaced by a template. 19502 19503 The case of searching a UChar in a 8bit string has a shortcut if the UChar cannot 19504 possibly match any character in the range of the type LChar. 19505 19506 The slow case StringImpl::find(StringImpl*) is modified to 19507 -Do not allocate in the fast case if only one string is 8bit. 19508 -Use the shortcut for searching UChar in LChar. 19509 19510 This speed up the function by about 7% when avoiding string conversion. 19511 19512 * wtf/text/StringImpl.cpp: 19513 (WTF::StringImpl::find): 19514 * wtf/text/StringImpl.h: 19515 (StringImpl): 19516 (WTF): 19517 (WTF::find): 19518 (WTF::StringImpl::find): 19519 195202012-04-24 Darin Adler <darin@apple.com> 19521 19522 Iterating a HashMap<String, X> involves a string equality comparison to check for the empty value 19523 https://bugs.webkit.org/show_bug.cgi?id=84524 19524 19525 Reviewed by Antti Koivisto. 19526 19527 Added a new algorithm for checking for empty buckets that can be specialized. 19528 Specialized it for String. We may later want to do the same thing for KURL. 19529 It's not important to do it for AtomicString, since AtomicString's == function 19530 is already a simple pointer equality compare. We may also later want to do 19531 something similar for pairs that have String objects in them. 19532 19533 * wtf/HashTable.h: 19534 (WTF::HashTable::isEmptyBucket): Call the new isHashTraitsEmptyValue function, which 19535 will do something more efficient for String. 19536 19537 * wtf/HashTraits.h: Added hasIsEmptyValueFunction to hash traits, with a default value 19538 of false. This allows us to continue to get automatic comparison with the appropriate 19539 emptyValue result for all existing traits, but supply a custom isEmptyValue function 19540 for HashTraits<String>. Putting an isEmptyValue function into the traits would require 19541 overriding it in every class that has a custom value for emptyValue. Specialized 19542 HashTraits for String to add hasIsEmptyValueFunction and declare, but not define, the 19543 isEmptyValue function. 19544 (WTF::isHashTraitsEmptyValue): Added a function that uses the HashTraitsEmptyValueChecker 19545 struct to use either == combined with the emptyValue function or the isEmptyValue function. 19546 19547 * wtf/text/StringHash.h: Removed unneeded includes and sorted the using statements at 19548 the bottom of the file. 19549 (WTF::HashTraits<String>::isEmptyValue): Define this function here, since here we have 19550 included the WTFString.h header; the HashTraits.h header compiles without WTFString.h. 19551 195522012-04-23 Kenneth Russell <kbr@google.com> 19553 19554 Change ImageData to reference Uint8ClampedArray rather than CanvasPixelArray 19555 https://bugs.webkit.org/show_bug.cgi?id=73011 19556 19557 Reviewed by Oliver Hunt. 19558 19559 * wtf/ArrayBuffer.h: 19560 (ArrayBuffer): 19561 (WTF::ArrayBuffer::create): 19562 (WTF::ArrayBuffer::createUninitialized): 19563 (WTF): 19564 (WTF::ArrayBufferContents::tryAllocate): 19565 * wtf/TypedArrayBase.h: 19566 (WTF::TypedArrayBase::createUninitialized): 19567 (TypedArrayBase): 19568 * wtf/Uint8ClampedArray.h: 19569 (Uint8ClampedArray): 19570 (WTF::Uint8ClampedArray::createUninitialized): 19571 (WTF): 19572 (WTF::Uint8ClampedArray::zeroFill): 19573 195742012-04-23 George Staikos <staikos@webkit.org> 19575 19576 Enable parallel GC for BlackBerry. 19577 https://bugs.webkit.org/show_bug.cgi?id=84633 19578 19579 Reviewed by Antonio Gomes. 19580 19581 * wtf/Platform.h: 19582 195832012-04-23 Sheriff Bot <webkit.review.bot@gmail.com> 19584 19585 Unreviewed, rolling out r114914. 19586 http://trac.webkit.org/changeset/114914 19587 https://bugs.webkit.org/show_bug.cgi?id=84615 19588 19589 Causing infinite hangs on some tests involving HashMaps with 19590 integer keys (Requested by dimich on #webkit). 19591 19592 * wtf/HashTable.h: 19593 (WTF::HashTable::isEmptyBucket): 19594 * wtf/HashTraits.h: 19595 * wtf/text/StringHash.h: 19596 195972012-04-23 Darin Adler <darin@apple.com> 19598 19599 Iterating a HashMap<String, X> involves a string equality comparison to check for the empty value 19600 https://bugs.webkit.org/show_bug.cgi?id=84524 19601 19602 Reviewed by Antti Koivisto. 19603 19604 Added a new algorithm for checking for empty buckets that can be specialized. 19605 Specialized it for String. We may later want to do the same thing for KURL. 19606 It's not important to do it for AtomicString, since AtomicString's == function 19607 is already a simple pointer equality compare. 19608 19609 * wtf/HashTable.h: 19610 (WTF::HashTable::isEmptyBucket): Call the new isHashTraitsEmptyValue function, which 19611 will do something more efficient for String. 19612 19613 * wtf/HashTraits.h: Added hasIsEmptyValueFunction to hash traits, with a default value 19614 of false. This allows us to continue to get automatic comparison with the appropriate 19615 emptyValue result for all existing traits, but supply a custom isEmptyValue function 19616 for HashTraits<String>. Putting an isEmptyValue function into the traits would require 19617 overriding it in every class that has a custom value for emptyValue. Specialized 19618 HashTraits for String to add hasIsEmptyValueFunction and declare, but not define, the 19619 isEmptyValue function. 19620 (WTF::isHashTraitsEmptyValue): Added a function that uses the HashTraitsEmptyValueChecker 19621 struct to use either == combined with the emptyValue function or the isEmptyValue function. 19622 (PairHashTraits): Define hasIsEmptyValueFunction and isEmptyValue. 19623 19624 * wtf/text/StringHash.h: Removed unneeded includes and sorted the using statements at 19625 the bottom of the file. 19626 (WTF::HashTraits<String>::isEmptyValue): Define this function here, since here we have 19627 included the WTFString.h header; the HashTraits.h header compiles without WTFString.h. 19628 196292012-04-18 Myles Maxfield <mmaxfield@google.com> 19630 19631 Somehow, there's an errant backslash in my last WTF patch 19632 https://bugs.webkit.org/show_bug.cgi?id=84290 19633 19634 Reviewed by Andreas Kling. 19635 19636 * wtf/StdLibExtras.h: 19637 (WTF::roundUpToMultipleOf): 19638 196392012-04-16 Nico Weber <thakis@chromium.org> 19640 19641 Make NullPtr.h compile with clang -std=c++11 and libstdc++4.2 19642 https://bugs.webkit.org/show_bug.cgi?id=83999 19643 19644 Reviewed by Sam Weinig. 19645 19646 Before this patch, NullPtr.h assumed that a working |nullptr| implied 19647 a working |std::nullptr_t| as well. With clang and libstdc++4.2, this 19648 is not true. 19649 19650 I tested (-stdlib=libc++, -stdlib=libstdc++) x (-std=c++11, -std=c++03) 19651 with clang. 19652 19653 * wtf/NullPtr.h: 19654 (std): 19655 196562012-04-14 Sam Weinig <sam@webkit.org> 19657 19658 Harden WTF::ByteArray::create() 19659 https://bugs.webkit.org/show_bug.cgi?id=83318 19660 19661 Reviewed by Maciej Stachowiak. 19662 19663 * wtf/ByteArray.cpp: 19664 (WTF::ByteArray::create): 19665 Add overflow check. I don't believe there is anyway to trigger this currently, 19666 hence no tests, so this should be considered hardening. 19667 196682012-04-12 Benjamin Poulain <bpoulain@apple.com> 19669 19670 Inline StringImpl::find(UChar, ...) 19671 https://bugs.webkit.org/show_bug.cgi?id=83737 19672 19673 Reviewed by Geoffrey Garen. 19674 19675 The implementation of StringImpl::find() is a simple branch before invoking one of 19676 two inline functions. The overhead of having a function for StringImpl::find() is significant. 19677 19678 It is better to let the compiler decide if that should be inlined or not. 19679 19680 * wtf/text/StringImpl.cpp: 19681 * wtf/text/StringImpl.h: 19682 (StringImpl): 19683 (WTF::find): 19684 (WTF): 19685 (WTF::reverseFind): 19686 (WTF::StringImpl::find): 19687 * wtf/text/WTFString.h: 19688 196892012-04-12 Balazs Kelemen <kbalazs@webkit.org> 19690 19691 [Qt] Fix WebKit1 build with V8 19692 https://bugs.webkit.org/show_bug.cgi?id=83322 19693 19694 Reviewed by Adam Barth. 19695 19696 * wtf/StdLibExtras.h: 19697 (WTF): 19698 196992012-04-12 Jer Noble <jer.noble@apple.com> 19700 19701 ThreadingWin: Mutex::unlock() can be "over-unlocked". 19702 https://bugs.webkit.org/show_bug.cgi?id=83725 19703 19704 Reviewed by David Levin. 19705 19706 In order to support the behavior of pthread_mutex_trylock(), the Windows Mutex class includes 19707 a recursion counter which is incremented in Mutex::lock(), decremented in Mutex::unlock(), 19708 and checked in Mutex::tryLock(). If the mutex is "over-unlocked", the counter wraps around to 19709 MAX_INT, and subsequent calls to Mutex::trylock() will fail. Raise an ASSERT in this situation 19710 so the "over-unlock" will be caught. 19711 19712 * wtf/ThreadingWin.cpp: 19713 (WTF::Mutex::unlock): ASSERT if unlocking a non-locked mutex. 19714 197152012-04-10 Mark Rowe <mrowe@apple.com> 19716 19717 <rdar://problem/10583749> WebKit2 should log to both ASL and stderr 19718 19719 Reviewed by Sam Weinig. 19720 19721 * wtf/Assertions.cpp: Add a WTFLogAlways function that unconditionally logs the given message. 19722 * wtf/Assertions.h: 19723 197242012-04-10 Patrick Gansterer <paroga@webkit.org> 19725 19726 Cleanup wtf/Platform.h and config.h files 19727 https://bugs.webkit.org/show_bug.cgi?id=83431 19728 19729 Reviewed by Eric Seidel. 19730 19731 The ENABLE() and USE() macros take care about the case when the flag 19732 isn't defined. So there is no need to define anything with 0. 19733 19734 Also move duplicated code from the config.h files to Platform.h and 19735 merge a few preprocessor commands to make the file more readable. 19736 19737 * config.h: 19738 * wtf/Platform.h: 19739 197402012-04-10 Filip Pizlo <fpizlo@apple.com> 19741 19742 DFG should flush SetLocals to arguments 19743 https://bugs.webkit.org/show_bug.cgi?id=83554 19744 19745 Reviewed by Gavin Barraclough. 19746 19747 Added an isRoot() method that is a faster shorthand for saying 19748 find() == this. 19749 19750 * wtf/UnionFind.h: 19751 (WTF::UnionFind::isRoot): 19752 (UnionFind): 19753 197542012-04-10 Adam Klein <adamk@chromium.org> 19755 19756 Remove unused NonNullPassRefPtr from WTF 19757 https://bugs.webkit.org/show_bug.cgi?id=82389 19758 19759 Reviewed by Kentaro Hara. 19760 19761 NonNullPassRefPtr seems to be unused since JSC allocation was 19762 restructured in r84052. 19763 19764 If someone decides they need this later, they can always revert this patch. 19765 19766 * wtf/PassRefPtr.h: 19767 * wtf/RefPtr.h: 19768 (RefPtr): 19769 197702012-04-10 Patrick Gansterer <paroga@webkit.org> 19771 19772 [CMake] Enable USE_FOLDERS property 19773 https://bugs.webkit.org/show_bug.cgi?id=83571 19774 19775 Reviewed by Daniel Bates. 19776 19777 Setting the FOLDER property on targets gives more structure 19778 to the generated Visual Studio solutions. 19779 This does not affect other CMake generators. 19780 19781 * wtf/CMakeLists.txt: 19782 197832012-04-09 Patrick Gansterer <paroga@webkit.org> 19784 19785 Port BinarySemaphoreWin.cpp to WinCE 19786 https://bugs.webkit.org/show_bug.cgi?id=83502 19787 19788 Reviewed by Daniel Bates. 19789 19790 Replace WaitForSingleObjectEx with WaitForSingleObject since 19791 the additonal parameter supported by the extended function 19792 is not used anyway and the function does not exist on WinCE. 19793 19794 * wtf/CMakeLists.txt: 19795 * wtf/PlatformWinCE.cmake: 19796 * wtf/threads/win/BinarySemaphoreWin.cpp: 19797 (WTF::BinarySemaphore::wait): 19798 197992012-04-09 Patrick Gansterer <paroga@webkit.org> 19800 19801 [CMake] Build fix for USE_SYSTEM_MALLOC after r113570. 19802 19803 * wtf/CMakeLists.txt: 19804 198052012-04-09 Patrick Gansterer <paroga@webkit.org> 19806 19807 Remove HAVE_STDINT_H 19808 https://bugs.webkit.org/show_bug.cgi?id=83434 19809 19810 Reviewed by Kentaro Hara. 19811 19812 HAVE_STDINT_H is defined with 1 all the time and we us stdint.h without HAVE(STDINT_H) already. 19813 19814 * config.h: 19815 * wtf/FastMalloc.cpp: 19816 * wtf/TCPageMap.h: 19817 * wtf/TCSpinLock.h: 19818 * wtf/TCSystemAlloc.cpp: 19819 198202012-04-06 Benjamin Poulain <bpoulain@apple.com> 19821 19822 Get rid of the useless flag PREEMPT_GEOLOCATION_PERMISSION 19823 https://bugs.webkit.org/show_bug.cgi?id=83325 19824 19825 Reviewed by Ryosuke Niwa. 19826 19827 * wtf/Platform.h: Remove the flag. 19828 198292012-04-06 Darin Adler <darin@apple.com> 19830 19831 Streamline strtod and fix some related problems 19832 https://bugs.webkit.org/show_bug.cgi?id=82857 19833 19834 Reviewed by Geoffrey Garen. 19835 19836 Replaced the strtod function template with a parseDouble function, eliminating 19837 the following unneeded features: 19838 19839 - need for a trailing null character and a call to strlen 19840 - needless conversion of string lengths from size_t to int and back that created 19841 the possibility of incorrect truncation 19842 - one level of function call; use inlining instead 19843 - construction of the StringToDoubleConverter object; it was used to pass 19844 arguments that are known at compile time 19845 - most of the StringToDoubleConverter::StringToDouble function's body; it was 19846 code we did not need 19847 - parsing of Infinity and NaN at the strtod level; added recently when we moved 19848 from the old strtod to the new one, and not needed or helpful at this level 19849 - multiple copies of code to narrow to single byte strings; in many cases 19850 this was done even when starting with an LChar string that is already 19851 single-byte, now we handle this with an overload of parseDouble 19852 19853 * wtf/dtoa.cpp: 19854 Removed a long comment about the original strtod function that no longer 19855 applies since we deleted that function long ago. Removed a lot of includes. 19856 Removed the strtod function templates and its instantiations, since they 19857 are now replaced by the parseDouble function. 19858 (WTF::Internal::parseDoubleFromLongString): Added. 19859 * wtf/dtoa.h: 19860 Added an include of ASCIICType.h so we can use isASCII in a function in this 19861 header. Left the heretofore unneeded include of double-conversion.h, since we 19862 now want to use it in a function in this header. Removed the AllowTrailingJunkTag 19863 and AllowTrailingSpacesTag enumerations and the strtod function template. Added 19864 new parseDouble function, and inline implementation of it. 19865 19866 * wtf/dtoa/double-conversion.cc: Removed quite a bit of unused code, hardcoding 19867 all the StringToDouble function arguments that come from data members so it can 19868 be a much smaller static member function. Also changed the types of arguments 19869 from int to size_t. 19870 * wtf/dtoa/double-conversion.h: Removed most of the StringToDoubleConverter 19871 class, leaving only the conversion function as a static member function. 19872 19873 * wtf/text/StringImpl.cpp: 19874 (WTF::StringImpl::toDouble): Got rid of didReadNumber. 19875 (WTF::StringImpl::toFloat): Ditto. 19876 * wtf/text/StringImpl.h: Ditto. 19877 * wtf/text/WTFString.cpp: 19878 (WTF::String::toDouble): Got rid of didReadNumber. 19879 (WTF::String::toFloat): Ditto. 19880 (WTF::toDoubleType): Rewrote this function to use parseDouble. Moved the code 19881 to skip leading spaces here, because other callers of parseDouble don't want 19882 to do that. Repurposed the check for an empty string so it's now the same 19883 code shared by all the "parsed nothing" cases. Removed the code to convert 19884 the buffer to ASCII for two reasons: (1) We don't need that code at all when 19885 CharType is LChar, and (2) We now handle this through the two overloads for 19886 the parseDouble function. Disallowing trailing junk is now handled here, 19887 rather than inside parseDouble. 19888 (WTF::charactersToDouble): Updated for changes to toDoubleType. Removed the 19889 didReadNumber argument. 19890 (WTF::charactersToFloat): Ditto. Also added overloads that return the parsed 19891 length. These are a slightly more powerful way to do what didReadNumber was 19892 used for before. 19893 19894 * wtf/text/WTFString.h: Added comments, eliminated didReadNumber, and added 19895 overloads of charactersToFloat that replace charactersToFloatIgnoringJunk. 19896 198972012-04-05 Patrick Gansterer <paroga@webkit.org> 19898 19899 [WinCE] Remove unnecessary function decleration 19900 https://bugs.webkit.org/show_bug.cgi?id=83155 19901 19902 Reviewed by Kentaro Hara. 19903 19904 * wtf/DateMath.cpp: 19905 * wtf/Platform.h: 19906 199072012-04-04 Patrick Gansterer <paroga@webkit.org> 19908 19909 Add WTF::getCurrentLocalTime() 19910 https://bugs.webkit.org/show_bug.cgi?id=83164 19911 19912 Reviewed by Alexey Proskuryakov. 19913 19914 Replace the calls to WTF::getLocalTime() with time(0) with the new function. 19915 This allows us to use Win32 API on windows to get the same result in a next step. 19916 19917 Also remove the inline keyword from WTF::getLocalTime(), since there is no need for 19918 it and it will make the later Win32 API changes easier. 19919 19920 * WTF.gyp/WTF.gyp: 19921 * wtf/CurrentTime.cpp: 19922 (WTF::getLocalTime): 19923 (WTF::getCurrentLocalTime): 19924 * wtf/CurrentTime.h: 19925 199262012-04-04 Chris Rogers <crogers@google.com> 19927 19928 Web Audio should use MutexTryLocker class 19929 https://bugs.webkit.org/show_bug.cgi?id=83194 19930 19931 Reviewed by Kenneth Russell. 19932 19933 Add MutexTryLocker class which can be used as a stack-based object wrapping a Mutex. 19934 It will automatically unlock the Mutex in its destructor if the tryLock() succeeded. 19935 19936 * wtf/ThreadingPrimitives.h: 19937 (MutexTryLocker): 19938 (WTF::MutexTryLocker::MutexTryLocker): 19939 (WTF::MutexTryLocker::~MutexTryLocker): 19940 (WTF::MutexTryLocker::locked): 19941 Check if the tryLock() on the Mutex succeeded. 19942 (WTF): 19943 199442012-04-04 Kausalya Madhusudhanan <kmadhusu@chromium.org> 19945 19946 [Coverity] Address some uninit constructor values. 19947 https://bugs.webkit.org/show_bug.cgi?id=82424 19948 19949 Reviewed by Stephen White. 19950 19951 New tests are not required since I did not modify any code behavior. I just initialized the class member variables in the constructor. 19952 19953 * wtf/ArrayBufferView.cpp: 19954 (WTF::ArrayBufferView::ArrayBufferView): 19955 199562012-03-30 David Barr <davidbarr@chromium.org> 19957 19958 Split up top-level .gitignore and .gitattributes 19959 https://bugs.webkit.org/show_bug.cgi?id=82687 19960 19961 Reviewed by Tor Arne Vestbø. 19962 19963 * WTF.gyp/.gitignore: Added. 19964 199652012-03-29 Kevin Ollivier <kevino@theolliviers.com> 19966 19967 [wx] Unreviewed build fix. Add export symbols needed to 19968 build wx under Windows. 19969 19970 * wtf/NullPtr.h: 19971 * wtf/ParallelJobsGeneric.h: 19972 (ParallelEnvironment): 19973 * wtf/ThreadSpecific.h: 19974 (WTF): 19975 199762012-03-29 Kevin Ollivier <kevino@theolliviers.com> 19977 19978 [wx] Unreviewed build fix. Add WTF_EXPORT_PRIVATE_NO_RTTI 19979 so that ports not using RTTI can add symbol exports to 19980 classes that RTTI ports export with WTF_EXPORT_PRIVATE_RTTI. 19981 19982 * wtf/ArrayBufferView.h: 19983 * wtf/ExportMacros.h: 19984 199852012-03-29 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 19986 19987 HashMap<>::add should return a more descriptive object 19988 https://bugs.webkit.org/show_bug.cgi?id=71063 19989 19990 Reviewed by Ryosuke Niwa. 19991 19992 Make HashTable<>::add() and derivate functions return an AddResult struct instead 19993 of a pair. This struct contains contains 'iterator' and 'isNewEntry' members, that are 19994 more readable at callsites than previous 'first' and 'second'. 19995 19996 * wtf/HashCountedSet.h: 19997 (HashCountedSet): 19998 (WTF::::add): 19999 * wtf/HashMap.h: 20000 (HashMap): 20001 (WTF): 20002 (WTF::::set): 20003 * wtf/HashSet.h: 20004 (HashSet): 20005 (WTF::::add): 20006 (WTF): 20007 * wtf/HashTable.h: 20008 (WTF::HashTableAddResult::HashTableAddResult): 20009 (HashTableAddResult): 20010 (WTF): 20011 (HashTable): 20012 (WTF::HashTable::add): 20013 (WTF::::add): 20014 (WTF::::addPassingHashCode): 20015 * wtf/ListHashSet.h: 20016 (ListHashSet): 20017 (WTF::::add): 20018 (WTF::::insertBefore): 20019 * wtf/RefPtrHashMap.h: 20020 (WTF): 20021 (WTF::::set): 20022 * wtf/Spectrum.h: 20023 (WTF::Spectrum::add): 20024 * wtf/WTFThreadData.cpp: 20025 (JSC::IdentifierTable::add): 20026 * wtf/WTFThreadData.h: 20027 (IdentifierTable): 20028 * wtf/text/AtomicString.cpp: 20029 (WTF::addToStringTable): 20030 (WTF::AtomicString::addSlowCase): 20031 200322012-03-29 Andreas Kling <kling@webkit.org> 20033 20034 String: Subscript operator shouldn't force conversion to 16-bit characters. 20035 <http://webkit.org/b/82613> 20036 20037 Reviewed by Anders Carlsson. 20038 20039 Forward String::operator[] to StringImpl::operator[] instead of indexing into characters(). 20040 This avoid implicit conversion of 8-bit strings to 16-bit, and as an example, reduces memory 20041 usage on http://www.allthingsd.com/ by 360kB. 20042 20043 * wtf/text/WTFString.h: 20044 (WTF::String::operator[]): 20045 200462012-03-28 Carlos Garcia Campos <cgarcia@igalia.com> 20047 20048 [GTK] Implement PlatformStrategies 20049 https://bugs.webkit.org/show_bug.cgi?id=82454 20050 20051 Reviewed by Xan Lopez. 20052 20053 * wtf/Platform.h: Define WTF_USE_PLATFORM_STRATEGIES for GTK+ 20054 platform too. 20055 200562012-03-26 Ryosuke Niwa <rniwa@webkit.org> 20057 20058 Set eol-style: native on WTF.sln per Ryan Sleevi's request. 20059 20060 * WTF.vcproj/WTF.sln: Added property svn:eol-style. 20061 200622012-03-26 Ryosuke Niwa <rniwa@webkit.org> 20063 20064 Chromium build fix; add BitVector.h/cpp to gypi. 20065 20066 * WTF.gypi: 20067 200682012-03-26 Ryosuke Niwa <rniwa@webkit.org> 20069 20070 Touch BitVector as a speculative fix for Chromium Linux. 20071 20072 * wtf/BitVector.h: 20073 (BitVector): 20074 200752012-03-23 Ryosuke Niwa <rniwa@webkit.org> 20076 20077 cssText should use shorthand notations 20078 https://bugs.webkit.org/show_bug.cgi?id=81737 20079 20080 Reviewed by Enrica Casucci. 20081 20082 * wtf/BitVector.h: 20083 (BitVector): 20084 (WTF::BitVector::ensureSizeAndSet): Added. 20085 200862012-03-26 Carlos Garcia Campos <cgarcia@igalia.com> 20087 20088 Unreviewed. Fix make distcheck. 20089 20090 * GNUmakefile.list.am: Add config.h to the source file list. 20091 200922012-03-25 Kevin Ollivier <kevino@theolliviers.com> 20093 20094 [wx] Unreviewed build fix. Move WTF to its own static lib build. 20095 20096 * wscript: Added. 20097 200982012-03-23 Tony Chang <tony@chromium.org> 20099 20100 [chromium] Unreviewed, move a comment closer to where it matters and 20101 make it more specific. 20102 20103 * WTF.gyp/WTF.gyp: 20104 201052012-03-23 Steve Falkenburg <sfalken@apple.com> 20106 20107 Update Apple Windows build files for WTF move 20108 https://bugs.webkit.org/show_bug.cgi?id=82069 20109 20110 Reviewed by Jessie Berlin. 20111 20112 * WTF.vcproj/WTF.make: Added. 20113 * WTF.vcproj/WTF.sln: Added. 20114 201152012-03-23 Dean Jackson <dino@apple.com> 20116 20117 Disable CSS_SHADERS in Apple builds 20118 https://bugs.webkit.org/show_bug.cgi?id=81996 20119 20120 Reviewed by Simon Fraser. 20121 20122 Put ENABLE_CSS_SHADERS into Platform.h, but disable for 20123 Apple builds. 20124 20125 * wtf/Platform.h: 20126 201272012-03-23 Tony Chang <tony@chromium.org> 20128 20129 [chromium] rename newwtf target back to wtf 20130 https://bugs.webkit.org/show_bug.cgi?id=82064 20131 20132 Reviewed by Adam Barth. 20133 20134 * WTF.gyp/WTF.gyp: 20135 201362012-03-22 Jessie Berlin <jberlin@apple.com> 20137 20138 Windows build fix after r111778. 20139 20140 * WTF.vcproj/WTF.vcproj: 20141 DateMath.h and DateMath.cpp should be built by WTF, since they are part of WTF. 20142 201432012-03-22 Raphael Kubo da Costa <rakuco@FreeBSD.org> 20144 20145 [CMake] Unreviewed build fix after r111778. 20146 20147 * CMakeLists.txt: Added. 20148 * wtf/CMakeLists.txt: Add ${CMAKE_BINARY_DIR} to the include paths 20149 for cmakeconfig.h to be found. 20150 201512012-03-22 Tony Chang <tony@chromium.org> 20152 20153 Unreviewed, attempt to fix the chromium-win build and another attempt 20154 at fixing the chromium-android build. 20155 20156 * WTF.gyp/WTF.gyp: 20157 201582012-03-22 Tony Chang <tony@chromium.org> 20159 20160 Unreviewed, attempt to fix chromium-android build. 20161 20162 * WTF.gyp/WTF.gyp: 20163 201642012-03-22 Tony Chang <tony@chromium.org> 20165 20166 Unreviewed, fix chromium build after wtf move. 20167 20168 Move wtf_config and wtf settings to newwtf. 20169 20170 * WTF.gyp/WTF.gyp: 20171 201722012-03-22 Martin Robinson <mrobinson@igalia.com> 20173 20174 One more GTK+ build fix after r111778. 20175 20176 * GNUmakefile.am: Adding missing include path. 20177 201782012-03-22 Martin Robinson <mrobinson@igalia.com> 20179 20180 Fixed the GTK+ WTF/JavaScriptCore build after r111778. 20181 20182 * GNUmakefile.am: Remove some extra trailing backslashes and a few uncessary 20183 variables. 20184 * GNUmakefile.list.am: Ditto. 20185 201862012-03-22 Dan Bernstein <mitz@apple.com> 20187 20188 Fixed the JavaScriptCore debug build after r111778. 20189 20190 * WTF.xcodeproj/project.pbxproj: Use debug DEBUG_DEFINES when building 20191 the Debug configuration. 20192 201932012-03-22 Csaba Osztrogonác <ossy@webkit.org> 20194 20195 Actually move WTF files to their new home 20196 https://bugs.webkit.org/show_bug.cgi?id=81844 20197 20198 [Qt] Unreviewed buildfix after r111778. 20199 20200 * WTF.pri: 20201 202022012-03-22 Eric Seidel <eric@webkit.org> 20203 20204 Actually move WTF files to their new home 20205 https://bugs.webkit.org/show_bug.cgi?id=81844 20206 20207 Unreviewed attempt to fix AppleWin. 20208 20209 * WTF.vcproj/WTFCommon.vsprops: 20210 202112012-03-22 Eric Seidel <eric@webkit.org> 20212 20213 Actually move WTF files to their new home 20214 https://bugs.webkit.org/show_bug.cgi?id=81844 20215 20216 Unreviewed. The 5MB file move is not very reviewable, 20217 but various port representatives have OK'd changes to the 20218 individual build systems. 20219 20220 * Configurations/WTF.xcconfig: 20221 * GNUmakefile.list.am: 20222 * Stub.cpp: Removed. 20223 * Stub.h: Removed. 20224 * WTF.gypi: 20225 * WTF.pri: 20226 * WTF.pro: 20227 * WTF.vcproj/WTF.vcproj: 20228 * WTF.vcproj/copy-files.cmd: 20229 * WTF.xcodeproj/project.pbxproj: 20230 * config.h: 20231 * wtf/ASCIICType.h: Renamed from Source/JavaScriptCore/wtf/ASCIICType.h. 20232 (WTF): 20233 (WTF::isASCII): 20234 (WTF::isASCIIAlpha): 20235 (WTF::isASCIIDigit): 20236 (WTF::isASCIIAlphanumeric): 20237 (WTF::isASCIIHexDigit): 20238 (WTF::isASCIILower): 20239 (WTF::isASCIIOctalDigit): 20240 (WTF::isASCIIPrintable): 20241 (WTF::isASCIISpace): 20242 (WTF::isASCIIUpper): 20243 (WTF::toASCIILower): 20244 (WTF::toASCIILowerUnchecked): 20245 (WTF::toASCIIUpper): 20246 (WTF::toASCIIHexValue): 20247 (WTF::lowerNibbleToASCIIHexDigit): 20248 (WTF::upperNibbleToASCIIHexDigit): 20249 (WTF::isASCIIAlphaCaselessEqual): 20250 * wtf/AVLTree.h: Renamed from Source/JavaScriptCore/wtf/AVLTree.h. 20251 (WTF): 20252 (AVLTreeDefaultBSet): 20253 (WTF::AVLTreeDefaultBSet::operator[]): 20254 (WTF::AVLTreeDefaultBSet::set): 20255 (WTF::AVLTreeDefaultBSet::reset): 20256 (AVLTree): 20257 (WTF::AVLTree::abstractor): 20258 (WTF::AVLTree::purge): 20259 (WTF::AVLTree::is_empty): 20260 (WTF::AVLTree::AVLTree): 20261 (Iterator): 20262 (WTF::AVLTree::Iterator::Iterator): 20263 (WTF::AVLTree::Iterator::start_iter): 20264 (WTF::AVLTree::Iterator::start_iter_least): 20265 (WTF::AVLTree::Iterator::start_iter_greatest): 20266 (WTF::AVLTree::Iterator::operator*): 20267 (WTF::AVLTree::Iterator::operator++): 20268 (WTF::AVLTree::Iterator::operator--): 20269 (WTF::AVLTree::Iterator::cmp_k_n): 20270 (WTF::AVLTree::Iterator::cmp_n_n): 20271 (WTF::AVLTree::Iterator::get_lt): 20272 (WTF::AVLTree::Iterator::get_gt): 20273 (WTF::AVLTree::Iterator::null): 20274 (WTF::AVLTree::build): 20275 (abs_plus_root): 20276 (WTF::AVLTree::get_lt): 20277 (WTF::AVLTree::set_lt): 20278 (WTF::AVLTree::get_gt): 20279 (WTF::AVLTree::set_gt): 20280 (WTF::AVLTree::get_bf): 20281 (WTF::AVLTree::set_bf): 20282 (WTF::AVLTree::cmp_k_n): 20283 (WTF::AVLTree::cmp_n_n): 20284 (WTF::AVLTree::null): 20285 (WTF::AVLTree::balance): 20286 (WTF::::insert): 20287 (WTF::::search): 20288 (WTF::::search_least): 20289 (WTF::::search_greatest): 20290 (WTF::::remove): 20291 (WTF::::subst): 20292 * wtf/Alignment.h: Renamed from Source/JavaScriptCore/wtf/Alignment.h. 20293 (WTF): 20294 (WTF::swap): 20295 * wtf/AlwaysInline.h: Renamed from Source/JavaScriptCore/wtf/AlwaysInline.h. 20296 * wtf/ArrayBuffer.cpp: Renamed from Source/JavaScriptCore/wtf/ArrayBuffer.cpp. 20297 (WTF): 20298 (WTF::ArrayBuffer::transfer): 20299 (WTF::ArrayBuffer::addView): 20300 (WTF::ArrayBuffer::removeView): 20301 * wtf/ArrayBuffer.h: Renamed from Source/JavaScriptCore/wtf/ArrayBuffer.h. 20302 (WTF): 20303 (ArrayBufferContents): 20304 (WTF::ArrayBufferContents::ArrayBufferContents): 20305 (WTF::ArrayBufferContents::data): 20306 (WTF::ArrayBufferContents::sizeInBytes): 20307 (WTF::ArrayBufferContents::transfer): 20308 (ArrayBuffer): 20309 (WTF::ArrayBuffer::isNeutered): 20310 (WTF::ArrayBuffer::~ArrayBuffer): 20311 (WTF::ArrayBuffer::clampValue): 20312 (WTF::ArrayBuffer::create): 20313 (WTF::ArrayBuffer::ArrayBuffer): 20314 (WTF::ArrayBuffer::data): 20315 (WTF::ArrayBuffer::byteLength): 20316 (WTF::ArrayBuffer::slice): 20317 (WTF::ArrayBuffer::sliceImpl): 20318 (WTF::ArrayBuffer::clampIndex): 20319 (WTF::ArrayBufferContents::tryAllocate): 20320 (WTF::ArrayBufferContents::~ArrayBufferContents): 20321 * wtf/ArrayBufferView.cpp: Renamed from Source/JavaScriptCore/wtf/ArrayBufferView.cpp. 20322 (WTF): 20323 (WTF::ArrayBufferView::ArrayBufferView): 20324 (WTF::ArrayBufferView::~ArrayBufferView): 20325 (WTF::ArrayBufferView::neuter): 20326 * wtf/ArrayBufferView.h: Renamed from Source/JavaScriptCore/wtf/ArrayBufferView.h. 20327 (WTF): 20328 (WTF::ArrayBufferView::setImpl): 20329 (WTF::ArrayBufferView::setRangeImpl): 20330 (WTF::ArrayBufferView::zeroRangeImpl): 20331 (WTF::ArrayBufferView::calculateOffsetAndLength): 20332 * wtf/Assertions.cpp: Renamed from Source/JavaScriptCore/wtf/Assertions.cpp. 20333 * wtf/Assertions.h: Renamed from Source/JavaScriptCore/wtf/Assertions.h. 20334 (assertUnused): 20335 (assertWithMessageUnused): 20336 * wtf/Atomics.h: Renamed from Source/JavaScriptCore/wtf/Atomics.h. 20337 (WTF): 20338 (WTF::atomicIncrement): 20339 (WTF::atomicDecrement): 20340 (WTF::weakCompareAndSwap): 20341 (WTF::weakCompareAndSwapUIntPtr): 20342 * wtf/BitVector.cpp: Renamed from Source/JavaScriptCore/wtf/BitVector.cpp. 20343 (WTF): 20344 (WTF::BitVector::setSlow): 20345 (WTF::BitVector::resize): 20346 (WTF::BitVector::clearAll): 20347 (WTF::BitVector::OutOfLineBits::create): 20348 (WTF::BitVector::OutOfLineBits::destroy): 20349 (WTF::BitVector::resizeOutOfLine): 20350 (WTF::BitVector::dump): 20351 * wtf/BitVector.h: Renamed from Source/JavaScriptCore/wtf/BitVector.h. 20352 (WTF): 20353 (BitVector): 20354 (WTF::BitVector::BitVector): 20355 (WTF::BitVector::~BitVector): 20356 (WTF::BitVector::operator=): 20357 (WTF::BitVector::size): 20358 (WTF::BitVector::ensureSize): 20359 (WTF::BitVector::quickGet): 20360 (WTF::BitVector::quickSet): 20361 (WTF::BitVector::quickClear): 20362 (WTF::BitVector::get): 20363 (WTF::BitVector::set): 20364 (WTF::BitVector::clear): 20365 (WTF::BitVector::bitsInPointer): 20366 (WTF::BitVector::maxInlineBits): 20367 (WTF::BitVector::byteCount): 20368 (WTF::BitVector::makeInlineBits): 20369 (OutOfLineBits): 20370 (WTF::BitVector::OutOfLineBits::numBits): 20371 (WTF::BitVector::OutOfLineBits::numWords): 20372 (WTF::BitVector::OutOfLineBits::bits): 20373 (WTF::BitVector::OutOfLineBits::OutOfLineBits): 20374 (WTF::BitVector::isInline): 20375 (WTF::BitVector::outOfLineBits): 20376 (WTF::BitVector::bits): 20377 * wtf/Bitmap.h: Renamed from Source/JavaScriptCore/wtf/Bitmap.h. 20378 (WTF): 20379 (Bitmap): 20380 (WTF::::Bitmap): 20381 (WTF::::get): 20382 (WTF::::set): 20383 (WTF::::testAndSet): 20384 (WTF::::testAndClear): 20385 (WTF::::concurrentTestAndSet): 20386 (WTF::::concurrentTestAndClear): 20387 (WTF::::clear): 20388 (WTF::::clearAll): 20389 (WTF::::nextPossiblyUnset): 20390 (WTF::::findRunOfZeros): 20391 (WTF::::count): 20392 (WTF::::isEmpty): 20393 (WTF::::isFull): 20394 * wtf/BlockStack.h: Renamed from Source/JavaScriptCore/wtf/BlockStack.h. 20395 (WTF): 20396 (BlockStack): 20397 (WTF::::BlockStack): 20398 (WTF::::~BlockStack): 20399 (WTF::::blocks): 20400 (WTF::::grow): 20401 (WTF::::shrink): 20402 * wtf/BloomFilter.h: Renamed from Source/JavaScriptCore/wtf/BloomFilter.h. 20403 (WTF): 20404 (BloomFilter): 20405 (WTF::BloomFilter::maximumCount): 20406 (WTF::BloomFilter::BloomFilter): 20407 (WTF::BloomFilter::mayContain): 20408 (WTF::BloomFilter::add): 20409 (WTF::BloomFilter::remove): 20410 (WTF::BloomFilter::firstSlot): 20411 (WTF::BloomFilter::secondSlot): 20412 (WTF::::add): 20413 (WTF::::remove): 20414 (WTF::::clear): 20415 (WTF::::likelyEmpty): 20416 (WTF::::isClear): 20417 * wtf/BoundsCheckedPointer.h: Renamed from Source/JavaScriptCore/wtf/BoundsCheckedPointer.h. 20418 (WTF): 20419 (BoundsCheckedPointer): 20420 (WTF::BoundsCheckedPointer::BoundsCheckedPointer): 20421 (WTF::BoundsCheckedPointer::operator=): 20422 (WTF::BoundsCheckedPointer::operator+=): 20423 (WTF::BoundsCheckedPointer::operator-=): 20424 (WTF::BoundsCheckedPointer::operator+): 20425 (WTF::BoundsCheckedPointer::operator-): 20426 (WTF::BoundsCheckedPointer::operator++): 20427 (WTF::BoundsCheckedPointer::operator--): 20428 (WTF::BoundsCheckedPointer::operator<): 20429 (WTF::BoundsCheckedPointer::operator<=): 20430 (WTF::BoundsCheckedPointer::operator>): 20431 (WTF::BoundsCheckedPointer::operator>=): 20432 (WTF::BoundsCheckedPointer::operator==): 20433 (WTF::BoundsCheckedPointer::operator!=): 20434 (WTF::BoundsCheckedPointer::operator!): 20435 (WTF::BoundsCheckedPointer::get): 20436 (WTF::BoundsCheckedPointer::operator*): 20437 (WTF::BoundsCheckedPointer::operator[]): 20438 (WTF::BoundsCheckedPointer::strcat): 20439 (WTF::BoundsCheckedPointer::validate): 20440 * wtf/BumpPointerAllocator.h: Renamed from Source/JavaScriptCore/wtf/BumpPointerAllocator.h. 20441 (WTF): 20442 (BumpPointerPool): 20443 (WTF::BumpPointerPool::ensureCapacity): 20444 (WTF::BumpPointerPool::alloc): 20445 (WTF::BumpPointerPool::dealloc): 20446 (WTF::BumpPointerPool::operator new): 20447 (WTF::BumpPointerPool::BumpPointerPool): 20448 (WTF::BumpPointerPool::create): 20449 (WTF::BumpPointerPool::shrink): 20450 (WTF::BumpPointerPool::destroy): 20451 (WTF::BumpPointerPool::ensureCapacityCrossPool): 20452 (WTF::BumpPointerPool::deallocCrossPool): 20453 (BumpPointerAllocator): 20454 (WTF::BumpPointerAllocator::BumpPointerAllocator): 20455 (WTF::BumpPointerAllocator::~BumpPointerAllocator): 20456 (WTF::BumpPointerAllocator::startAllocator): 20457 (WTF::BumpPointerAllocator::stopAllocator): 20458 * wtf/ByteArray.cpp: Renamed from Source/JavaScriptCore/wtf/ByteArray.cpp. 20459 (WTF): 20460 (WTF::ByteArray::create): 20461 * wtf/ByteArray.h: Renamed from Source/JavaScriptCore/wtf/ByteArray.h. 20462 (ByteArray): 20463 (WTF::ByteArray::length): 20464 (WTF::ByteArray::set): 20465 (WTF::ByteArray::get): 20466 (WTF::ByteArray::data): 20467 (WTF::ByteArray::clear): 20468 (WTF::ByteArray::deref): 20469 (WTF::ByteArray::offsetOfSize): 20470 (WTF::ByteArray::offsetOfData): 20471 (WTF::ByteArray::ByteArray): 20472 * wtf/CMakeLists.txt: Renamed from Source/JavaScriptCore/wtf/CMakeLists.txt. 20473 * wtf/CONTRIBUTORS.pthreads-win32: Renamed from Source/JavaScriptCore/wtf/CONTRIBUTORS.pthreads-win32. 20474 * wtf/CheckedArithmetic.h: Renamed from Source/JavaScriptCore/wtf/CheckedArithmetic.h. 20475 (WTF): 20476 (CrashOnOverflow): 20477 (WTF::CrashOnOverflow::overflowed): 20478 (WTF::CrashOnOverflow::clearOverflow): 20479 (WTF::CrashOnOverflow::hasOverflowed): 20480 (RecordOverflow): 20481 (WTF::RecordOverflow::RecordOverflow): 20482 (WTF::RecordOverflow::overflowed): 20483 (WTF::RecordOverflow::clearOverflow): 20484 (WTF::RecordOverflow::hasOverflowed): 20485 (WTF::isInBounds): 20486 (RemoveChecked): 20487 (WTF::safeAdd): 20488 (WTF::safeSub): 20489 (WTF::safeMultiply): 20490 (WTF::safeEquals): 20491 (WTF::workAroundClangBug): 20492 (Checked): 20493 (WTF::Checked::Checked): 20494 (WTF::Checked::operator=): 20495 (WTF::Checked::operator++): 20496 (WTF::Checked::operator--): 20497 (WTF::Checked::operator!): 20498 (WTF::Checked::operator UnspecifiedBoolType*): 20499 (WTF::Checked::unsafeGet): 20500 (WTF::Checked::operator+=): 20501 (WTF::Checked::operator-=): 20502 (WTF::Checked::operator*=): 20503 (WTF::Checked::operator==): 20504 (WTF::Checked::operator!=): 20505 (WTF::operator+): 20506 (WTF::operator-): 20507 (WTF::operator*): 20508 * wtf/CheckedBoolean.h: Renamed from Source/JavaScriptCore/wtf/CheckedBoolean.h. 20509 (CheckedBoolean): 20510 (CheckedBoolean::CheckedBoolean): 20511 (CheckedBoolean::~CheckedBoolean): 20512 (CheckedBoolean::operator bool): 20513 * wtf/Compiler.h: Renamed from Source/JavaScriptCore/wtf/Compiler.h. 20514 * wtf/Complex.h: Renamed from Source/JavaScriptCore/wtf/Complex.h. 20515 (WTF): 20516 (WTF::complexFromMagnitudePhase): 20517 * wtf/CryptographicallyRandomNumber.cpp: Renamed from Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.cpp. 20518 (WTF::cryptographicallyRandomNumber): 20519 (WTF): 20520 (WTF::cryptographicallyRandomValues): 20521 * wtf/CryptographicallyRandomNumber.h: Renamed from Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.h. 20522 (WTF): 20523 * wtf/CurrentTime.cpp: Renamed from Source/JavaScriptCore/wtf/CurrentTime.cpp. 20524 (WTF): 20525 (WTF::highResUpTime): 20526 (WTF::lowResUTCTime): 20527 (WTF::qpcAvailable): 20528 (WTF::currentTime): 20529 (WTF::currentSystemTime): 20530 (WTF::monotonicallyIncreasingTime): 20531 * wtf/CurrentTime.h: Renamed from Source/JavaScriptCore/wtf/CurrentTime.h. 20532 (WTF): 20533 (WTF::currentTimeMS): 20534 (WTF::getLocalTime): 20535 * wtf/DataLog.cpp: Renamed from Source/JavaScriptCore/wtf/DataLog.cpp. 20536 (WTF): 20537 (WTF::initializeLogFileOnce): 20538 (WTF::initializeLogFile): 20539 (WTF::dataFile): 20540 (WTF::dataLogV): 20541 (WTF::dataLog): 20542 * wtf/DataLog.h: Renamed from Source/JavaScriptCore/wtf/DataLog.h. 20543 (WTF): 20544 * wtf/DateMath.cpp: Renamed from Source/JavaScriptCore/wtf/DateMath.cpp. 20545 (WTF): 20546 (WTF::isLeapYear): 20547 (WTF::daysInYear): 20548 (WTF::daysFrom1970ToYear): 20549 (WTF::msToDays): 20550 (WTF::twoDigitStringFromNumber): 20551 (WTF::msToYear): 20552 (WTF::dayInYear): 20553 (WTF::msToMilliseconds): 20554 (WTF::msToMinutes): 20555 (WTF::msToHours): 20556 (WTF::monthFromDayInYear): 20557 (WTF::checkMonth): 20558 (WTF::dayInMonthFromDayInYear): 20559 (WTF::monthToDayInYear): 20560 (WTF::dateToDaysFrom1970): 20561 (WTF::maximumYearForDST): 20562 (WTF::minimumYearForDST): 20563 (WTF::equivalentYearForDST): 20564 (WTF::calculateUTCOffset): 20565 (WTF::calculateDSTOffsetSimple): 20566 (WTF::calculateDSTOffset): 20567 (WTF::initializeDates): 20568 (WTF::ymdhmsToSeconds): 20569 (KnownZone): 20570 (WTF::skipSpacesAndComments): 20571 (WTF::findMonth): 20572 (WTF::parseLong): 20573 (WTF::parseES5DatePortion): 20574 (WTF::parseES5TimePortion): 20575 (WTF::parseES5DateFromNullTerminatedCharacters): 20576 (WTF::parseDateFromNullTerminatedCharacters): 20577 (WTF::timeClip): 20578 (WTF::makeRFC2822DateString): 20579 * wtf/DateMath.h: Renamed from Source/JavaScriptCore/wtf/DateMath.h. 20580 (WTF): 20581 (WTF::jsCurrentTime): 20582 * wtf/DecimalNumber.cpp: Renamed from Source/JavaScriptCore/wtf/DecimalNumber.cpp. 20583 (WTF): 20584 (WTF::DecimalNumber::bufferLengthForStringDecimal): 20585 (WTF::DecimalNumber::bufferLengthForStringExponential): 20586 (WTF::DecimalNumber::toStringDecimal): 20587 (WTF::DecimalNumber::toStringExponential): 20588 * wtf/DecimalNumber.h: Renamed from Source/JavaScriptCore/wtf/DecimalNumber.h. 20589 (WTF): 20590 (DecimalNumber): 20591 (WTF::DecimalNumber::DecimalNumber): 20592 (WTF::DecimalNumber::sign): 20593 (WTF::DecimalNumber::exponent): 20594 (WTF::DecimalNumber::significand): 20595 (WTF::DecimalNumber::precision): 20596 * wtf/Decoder.h: Renamed from Source/JavaScriptCore/wtf/Decoder.h. 20597 (WTF): 20598 (Decoder): 20599 (WTF::Decoder::Decoder): 20600 (WTF::Decoder::~Decoder): 20601 * wtf/Deque.h: Renamed from Source/JavaScriptCore/wtf/Deque.h. 20602 (WTF): 20603 (Deque): 20604 (WTF::Deque::size): 20605 (WTF::Deque::isEmpty): 20606 (WTF::Deque::begin): 20607 (WTF::Deque::end): 20608 (WTF::Deque::rbegin): 20609 (WTF::Deque::rend): 20610 (WTF::Deque::first): 20611 (WTF::Deque::last): 20612 (DequeIteratorBase): 20613 (WTF::DequeIteratorBase::assign): 20614 (DequeIterator): 20615 (WTF::DequeIterator::DequeIterator): 20616 (WTF::DequeIterator::operator=): 20617 (WTF::DequeIterator::operator*): 20618 (WTF::DequeIterator::operator->): 20619 (WTF::DequeIterator::operator==): 20620 (WTF::DequeIterator::operator!=): 20621 (WTF::DequeIterator::operator++): 20622 (WTF::DequeIterator::operator--): 20623 (DequeConstIterator): 20624 (WTF::DequeConstIterator::DequeConstIterator): 20625 (WTF::DequeConstIterator::operator=): 20626 (WTF::DequeConstIterator::operator*): 20627 (WTF::DequeConstIterator::operator->): 20628 (WTF::DequeConstIterator::operator==): 20629 (WTF::DequeConstIterator::operator!=): 20630 (WTF::DequeConstIterator::operator++): 20631 (WTF::DequeConstIterator::operator--): 20632 (DequeReverseIterator): 20633 (WTF::DequeReverseIterator::DequeReverseIterator): 20634 (WTF::DequeReverseIterator::operator=): 20635 (WTF::DequeReverseIterator::operator*): 20636 (WTF::DequeReverseIterator::operator->): 20637 (WTF::DequeReverseIterator::operator==): 20638 (WTF::DequeReverseIterator::operator!=): 20639 (WTF::DequeReverseIterator::operator++): 20640 (WTF::DequeReverseIterator::operator--): 20641 (DequeConstReverseIterator): 20642 (WTF::DequeConstReverseIterator::DequeConstReverseIterator): 20643 (WTF::DequeConstReverseIterator::operator=): 20644 (WTF::DequeConstReverseIterator::operator*): 20645 (WTF::DequeConstReverseIterator::operator->): 20646 (WTF::DequeConstReverseIterator::operator==): 20647 (WTF::DequeConstReverseIterator::operator!=): 20648 (WTF::DequeConstReverseIterator::operator++): 20649 (WTF::DequeConstReverseIterator::operator--): 20650 (WTF::::checkValidity): 20651 (WTF::::checkIndexValidity): 20652 (WTF::::invalidateIterators): 20653 (WTF::::Deque): 20654 (WTF::deleteAllValues): 20655 (WTF::=): 20656 (WTF::::destroyAll): 20657 (WTF::::~Deque): 20658 (WTF::::swap): 20659 (WTF::::clear): 20660 (WTF::::findIf): 20661 (WTF::::expandCapacityIfNeeded): 20662 (WTF::::expandCapacity): 20663 (WTF::::takeFirst): 20664 (WTF::::append): 20665 (WTF::::prepend): 20666 (WTF::::removeFirst): 20667 (WTF::::remove): 20668 (WTF::::addToIteratorsList): 20669 (WTF::::removeFromIteratorsList): 20670 (WTF::::DequeIteratorBase): 20671 (WTF::::~DequeIteratorBase): 20672 (WTF::::isEqual): 20673 (WTF::::increment): 20674 (WTF::::decrement): 20675 (WTF::::after): 20676 (WTF::::before): 20677 * wtf/DisallowCType.h: Renamed from Source/JavaScriptCore/wtf/DisallowCType.h. 20678 * wtf/DoublyLinkedList.h: Renamed from Source/JavaScriptCore/wtf/DoublyLinkedList.h. 20679 (WTF): 20680 (DoublyLinkedListNode): 20681 (WTF::::DoublyLinkedListNode): 20682 (WTF::::setPrev): 20683 (WTF::::setNext): 20684 (WTF::::prev): 20685 (WTF::::next): 20686 (DoublyLinkedList): 20687 (WTF::::DoublyLinkedList): 20688 (WTF::::isEmpty): 20689 (WTF::::size): 20690 (WTF::::clear): 20691 (WTF::::head): 20692 (WTF::::tail): 20693 (WTF::::push): 20694 (WTF::::append): 20695 (WTF::::remove): 20696 (WTF::::removeHead): 20697 * wtf/DynamicAnnotations.cpp: Renamed from Source/JavaScriptCore/wtf/DynamicAnnotations.cpp. 20698 (WTFAnnotateBenignRaceSized): 20699 (WTFAnnotateHappensBefore): 20700 (WTFAnnotateHappensAfter): 20701 * wtf/DynamicAnnotations.h: Renamed from Source/JavaScriptCore/wtf/DynamicAnnotations.h. 20702 * wtf/Encoder.h: Renamed from Source/JavaScriptCore/wtf/Encoder.h. 20703 (WTF): 20704 (Encoder): 20705 (WTF::Encoder::Encoder): 20706 (WTF::Encoder::~Encoder): 20707 * wtf/ExportMacros.h: Renamed from Source/JavaScriptCore/wtf/ExportMacros.h. 20708 * wtf/FastAllocBase.h: Renamed from Source/JavaScriptCore/wtf/FastAllocBase.h. 20709 (WTF): 20710 (WTF::fastNew): 20711 (Internal): 20712 (WTF::Internal::NewArrayImpl::fastNewArray): 20713 (WTF::fastNewArray): 20714 (WTF::fastDelete): 20715 (WTF::fastDeleteSkippingDestructor): 20716 (WTF::Internal::DeleteArrayImpl::fastDeleteArray): 20717 (WTF::fastDeleteArray): 20718 (WTF::fastNonNullDelete): 20719 (WTF::Internal::NonNullDeleteArrayImpl::fastNonNullDeleteArray): 20720 (WTF::fastNonNullDeleteArray): 20721 * wtf/FastMalloc.cpp: Renamed from Source/JavaScriptCore/wtf/FastMalloc.cpp. 20722 (WTF): 20723 (WTF::isForbidden): 20724 (WTF::fastMallocForbid): 20725 (WTF::fastMallocAllow): 20726 (WTF::initializeIsForbiddenKey): 20727 (Internal): 20728 (WTF::Internal::fastMallocMatchFailed): 20729 (WTF::fastZeroedMalloc): 20730 (WTF::fastStrDup): 20731 (WTF::tryFastZeroedMalloc): 20732 (WTF::tryFastMalloc): 20733 (WTF::fastMalloc): 20734 (WTF::tryFastCalloc): 20735 (WTF::fastCalloc): 20736 (WTF::fastFree): 20737 (WTF::tryFastRealloc): 20738 (WTF::fastRealloc): 20739 (WTF::releaseFastMallocFreeMemory): 20740 (WTF::fastMallocStatistics): 20741 (WTF::fastMallocSize): 20742 (FastMallocZone): 20743 (WTF::FastMallocZone::goodSize): 20744 (WTF::FastMallocZone::check): 20745 (WTF::FastMallocZone::print): 20746 (WTF::FastMallocZone::log): 20747 (WTF::FastMallocZone::forceLock): 20748 (WTF::FastMallocZone::forceUnlock): 20749 (WTF::FastMallocZone::statistics): 20750 (WTF::FastMallocZone::zoneValloc): 20751 (WTF::FastMallocZone::zoneDestroy): 20752 (WTF::KernelSupportsTLS): 20753 (WTF::CheckIfKernelSupportsTLS): 20754 (WTF::ClassIndex): 20755 (TCEntry): 20756 (WTF::LgFloor): 20757 (WTF::SLL_Next): 20758 (WTF::SLL_SetNext): 20759 (WTF::SLL_Push): 20760 (WTF::SLL_Pop): 20761 (WTF::SLL_PopRange): 20762 (WTF::SLL_PushRange): 20763 (WTF::SLL_Size): 20764 (WTF::SizeClass): 20765 (WTF::ByteSizeForClass): 20766 (WTF::NumMoveSize): 20767 (WTF::InitSizeClasses): 20768 (WTF::MetaDataAlloc): 20769 (PageHeapAllocator): 20770 (WTF::PageHeapAllocator::Init): 20771 (WTF::PageHeapAllocator::New): 20772 (WTF::PageHeapAllocator::Delete): 20773 (WTF::PageHeapAllocator::inuse): 20774 (WTF::PageHeapAllocator::recordAdministrativeRegions): 20775 (WTF::pages): 20776 (WTF::AllocationSize): 20777 (Span): 20778 (WTF::Event): 20779 (WTF::NewSpan): 20780 (WTF::DeleteSpan): 20781 (WTF::DLL_Init): 20782 (WTF::DLL_Remove): 20783 (WTF::DLL_IsEmpty): 20784 (WTF::DLL_Length): 20785 (WTF::DLL_Print): 20786 (WTF::DLL_Prepend): 20787 (StackTrace): 20788 (MapSelector): 20789 (TCMalloc_PageHeap): 20790 (WTF::TCMalloc_PageHeap::GetDescriptor): 20791 (WTF::TCMalloc_PageHeap::GetDescriptorEnsureSafe): 20792 (WTF::TCMalloc_PageHeap::SystemBytes): 20793 (WTF::TCMalloc_PageHeap::FreeBytes): 20794 (WTF::TCMalloc_PageHeap::GetSizeClassIfCached): 20795 (WTF::TCMalloc_PageHeap::CacheSizeClass): 20796 (SpanList): 20797 (WTF::TCMalloc_PageHeap::RecordSpan): 20798 (WTF::TCMalloc_PageHeap::init): 20799 (WTF::TCMalloc_PageHeap::initializeScavenger): 20800 (WTF::TCMalloc_PageHeap::isScavengerSuspended): 20801 (WTF::TCMalloc_PageHeap::scheduleScavenger): 20802 (WTF::TCMalloc_PageHeap::rescheduleScavenger): 20803 (WTF::TCMalloc_PageHeap::suspendScavenger): 20804 (WTF::TCMalloc_PageHeap::scavengerTimerFired): 20805 (WTF::TCMalloc_PageHeap::runScavengerThread): 20806 (WTF::TCMalloc_PageHeap::signalScavenger): 20807 (WTF::TCMalloc_PageHeap::scavenge): 20808 (WTF::TCMalloc_PageHeap::shouldScavenge): 20809 (WTF::TCMalloc_PageHeap::New): 20810 (WTF::TCMalloc_PageHeap::AllocLarge): 20811 (WTF::TCMalloc_PageHeap::Split): 20812 (WTF::TCMalloc_PageHeap::Carve): 20813 (WTF::mergeDecommittedStates): 20814 (WTF::TCMalloc_PageHeap::Delete): 20815 (WTF::TCMalloc_PageHeap::IncrementalScavenge): 20816 (WTF::TCMalloc_PageHeap::RegisterSizeClass): 20817 (WTF::TCMalloc_PageHeap::ReturnedBytes): 20818 (WTF::PagesToMB): 20819 (WTF::TCMalloc_PageHeap::Dump): 20820 (WTF::TCMalloc_PageHeap::GrowHeap): 20821 (WTF::TCMalloc_PageHeap::Check): 20822 (WTF::TCMalloc_PageHeap::CheckList): 20823 (WTF::TCMalloc_PageHeap::ReleaseFreeList): 20824 (WTF::TCMalloc_PageHeap::ReleaseFreePages): 20825 (TCMalloc_ThreadCache_FreeList): 20826 (WTF::TCMalloc_ThreadCache_FreeList::Init): 20827 (WTF::TCMalloc_ThreadCache_FreeList::length): 20828 (WTF::TCMalloc_ThreadCache_FreeList::empty): 20829 (WTF::TCMalloc_ThreadCache_FreeList::lowwatermark): 20830 (WTF::TCMalloc_ThreadCache_FreeList::clear_lowwatermark): 20831 (WTF::TCMalloc_ThreadCache_FreeList::Push): 20832 (WTF::TCMalloc_ThreadCache_FreeList::PushRange): 20833 (WTF::TCMalloc_ThreadCache_FreeList::PopRange): 20834 (WTF::TCMalloc_ThreadCache_FreeList::Pop): 20835 (WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects): 20836 (TCMalloc_ThreadCache): 20837 (WTF::TCMalloc_ThreadCache::freelist_length): 20838 (WTF::TCMalloc_ThreadCache::Size): 20839 (WTF::TCMalloc_ThreadCache::enumerateFreeObjects): 20840 (TCMalloc_Central_FreeList): 20841 (WTF::TCMalloc_Central_FreeList::length): 20842 (WTF::TCMalloc_Central_FreeList::tc_length): 20843 (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): 20844 (TCMalloc_Central_FreeListPadded): 20845 (WTF::getPageHeap): 20846 (WTF::TCMalloc_PageHeap::periodicScavenge): 20847 (WTF::TCMalloc_PageHeap::scavengerThread): 20848 (WTF::setThreadHeap): 20849 (WTF::TCMalloc_Central_FreeList::Init): 20850 (WTF::TCMalloc_Central_FreeList::ReleaseListToSpans): 20851 (WTF::TCMalloc_Central_FreeList::ReleaseToSpans): 20852 (WTF::TCMalloc_Central_FreeList::EvictRandomSizeClass): 20853 (WTF::TCMalloc_Central_FreeList::MakeCacheSpace): 20854 (WTF::TCMalloc_Central_FreeList::ShrinkCache): 20855 (WTF::TCMalloc_Central_FreeList::InsertRange): 20856 (WTF::TCMalloc_Central_FreeList::RemoveRange): 20857 (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe): 20858 (WTF::TCMalloc_Central_FreeList::FetchFromSpans): 20859 (WTF::TCMalloc_Central_FreeList::Populate): 20860 (WTF::TCMalloc_ThreadCache::SampleAllocation): 20861 (WTF::TCMalloc_ThreadCache::Init): 20862 (WTF::TCMalloc_ThreadCache::Cleanup): 20863 (WTF::TCMalloc_ThreadCache::Allocate): 20864 (WTF::TCMalloc_ThreadCache::Deallocate): 20865 (WTF::TCMalloc_ThreadCache::FetchFromCentralCache): 20866 (WTF::TCMalloc_ThreadCache::ReleaseToCentralCache): 20867 (WTF::TCMalloc_ThreadCache::Scavenge): 20868 (WTF::TCMalloc_ThreadCache::PickNextSample): 20869 (WTF::TCMalloc_ThreadCache::InitModule): 20870 (WTF::TCMalloc_ThreadCache::NewHeap): 20871 (WTF::TCMalloc_ThreadCache::GetThreadHeap): 20872 (WTF::TCMalloc_ThreadCache::GetCache): 20873 (WTF::TCMalloc_ThreadCache::GetCacheIfPresent): 20874 (WTF::TCMalloc_ThreadCache::InitTSD): 20875 (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): 20876 * wtf/FastMalloc.h: Renamed from Source/JavaScriptCore/wtf/FastMalloc.h. 20877 (WTF): 20878 (WTF::TryMallocReturnValue::TryMallocReturnValue): 20879 (WTF::TryMallocReturnValue::~TryMallocReturnValue): 20880 (TryMallocReturnValue): 20881 (WTF::TryMallocReturnValue::operator PossiblyNull<T>): 20882 (WTF::TryMallocReturnValue::getValue): 20883 (FastMallocStatistics): 20884 (ValidationHeader): 20885 (Internal): 20886 (WTF::Internal::fastMallocValidationHeader): 20887 (WTF::Internal::fastMallocValidationSuffix): 20888 (WTF::Internal::fastMallocMatchValidationType): 20889 (WTF::Internal::setFastMallocMatchValidationType): 20890 (WTF::fastMallocMatchValidateMalloc): 20891 (WTF::fastMallocMatchValidateFree): 20892 (WTF::fastMallocValidate): 20893 (throw): 20894 * wtf/FixedArray.h: Renamed from Source/JavaScriptCore/wtf/FixedArray.h. 20895 (WTF): 20896 (FixedArray): 20897 (WTF::FixedArray::operator[]): 20898 (WTF::FixedArray::data): 20899 (WTF::FixedArray::size): 20900 * wtf/Float32Array.h: Renamed from Source/JavaScriptCore/wtf/Float32Array.h. 20901 (WTF): 20902 (Float32Array): 20903 (WTF::Float32Array::set): 20904 (WTF::Float32Array::item): 20905 (WTF::Float32Array::isFloatArray): 20906 (WTF::Float32Array::create): 20907 (WTF::Float32Array::Float32Array): 20908 (WTF::Float32Array::subarray): 20909 * wtf/Float64Array.h: Renamed from Source/JavaScriptCore/wtf/Float64Array.h. 20910 (WTF): 20911 (Float64Array): 20912 (WTF::Float64Array::set): 20913 (WTF::Float64Array::item): 20914 (WTF::Float64Array::isDoubleArray): 20915 (WTF::Float64Array::create): 20916 (WTF::Float64Array::Float64Array): 20917 (WTF::Float64Array::subarray): 20918 * wtf/Forward.h: Renamed from Source/JavaScriptCore/wtf/Forward.h. 20919 (WTF): 20920 * wtf/Functional.h: Renamed from Source/JavaScriptCore/wtf/Functional.h. 20921 (WTF): 20922 (HasRefAndDeref): 20923 (NoType): 20924 (BaseMixin): 20925 (WTF::R): 20926 (WTF::C::): 20927 (WTF::RefAndDeref::ref): 20928 (WTF::RefAndDeref::deref): 20929 (ParamStorageTraits): 20930 (WTF::ParamStorageTraits::wrap): 20931 (WTF::ParamStorageTraits::unwrap): 20932 (FunctionImplBase): 20933 (WTF::FunctionImplBase::~FunctionImplBase): 20934 (FunctionBase): 20935 (WTF::FunctionBase::isNull): 20936 (WTF::FunctionBase::FunctionBase): 20937 (WTF::FunctionBase::impl): 20938 (WTF::bind): 20939 * wtf/GetPtr.h: Renamed from Source/JavaScriptCore/wtf/GetPtr.h. 20940 (WTF): 20941 (WTF::getPtr): 20942 * wtf/HashCountedSet.h: Renamed from Source/JavaScriptCore/wtf/HashCountedSet.h. 20943 (WTF): 20944 (HashCountedSet): 20945 (WTF::HashCountedSet::HashCountedSet): 20946 (WTF::::size): 20947 (WTF::::capacity): 20948 (WTF::::isEmpty): 20949 (WTF::::begin): 20950 (WTF::::end): 20951 (WTF::::find): 20952 (WTF::::contains): 20953 (WTF::::count): 20954 (WTF::::add): 20955 (WTF::::remove): 20956 (WTF::::removeAll): 20957 (WTF::::clear): 20958 (WTF::copyToVector): 20959 * wtf/HashFunctions.h: Renamed from Source/JavaScriptCore/wtf/HashFunctions.h. 20960 (WTF): 20961 (WTF::intHash): 20962 (WTF::IntHash::hash): 20963 (WTF::IntHash::equal): 20964 (IntHash): 20965 (WTF::FloatHash::hash): 20966 (WTF::FloatHash::equal): 20967 (FloatHash): 20968 (WTF::PtrHash::hash): 20969 (WTF::PtrHash::equal): 20970 (PtrHash): 20971 (WTF::PairHash::hash): 20972 (WTF::PairHash::equal): 20973 (PairHash): 20974 * wtf/HashIterators.h: Renamed from Source/JavaScriptCore/wtf/HashIterators.h. 20975 (WTF): 20976 (HashTableConstKeysIterator): 20977 (WTF::HashTableConstKeysIterator::HashTableConstKeysIterator): 20978 (WTF::HashTableConstKeysIterator::get): 20979 (WTF::HashTableConstKeysIterator::operator*): 20980 (WTF::HashTableConstKeysIterator::operator->): 20981 (WTF::HashTableConstKeysIterator::operator++): 20982 (HashTableConstValuesIterator): 20983 (WTF::HashTableConstValuesIterator::HashTableConstValuesIterator): 20984 (WTF::HashTableConstValuesIterator::get): 20985 (WTF::HashTableConstValuesIterator::operator*): 20986 (WTF::HashTableConstValuesIterator::operator->): 20987 (WTF::HashTableConstValuesIterator::operator++): 20988 (HashTableKeysIterator): 20989 (WTF::HashTableKeysIterator::HashTableKeysIterator): 20990 (WTF::HashTableKeysIterator::get): 20991 (WTF::HashTableKeysIterator::operator*): 20992 (WTF::HashTableKeysIterator::operator->): 20993 (WTF::HashTableKeysIterator::operator++): 20994 (WTF::HashTableKeysIterator::operator HashTableConstKeysIterator<HashTableType, KeyType, MappedType>): 20995 (HashTableValuesIterator): 20996 (WTF::HashTableValuesIterator::HashTableValuesIterator): 20997 (WTF::HashTableValuesIterator::get): 20998 (WTF::HashTableValuesIterator::operator*): 20999 (WTF::HashTableValuesIterator::operator->): 21000 (WTF::HashTableValuesIterator::operator++): 21001 (WTF::HashTableValuesIterator::operator HashTableConstValuesIterator<HashTableType, KeyType, MappedType>): 21002 (WTF::operator==): 21003 (WTF::operator!=): 21004 * wtf/HashMap.h: Renamed from Source/JavaScriptCore/wtf/HashMap.h. 21005 (WTF): 21006 (ReferenceTypeMaker): 21007 (HashMap): 21008 (WTF::HashMap::keys): 21009 (WTF::HashMap::values): 21010 (HashMapKeysProxy): 21011 (WTF::HashMap::HashMapKeysProxy::begin): 21012 (WTF::HashMap::HashMapKeysProxy::end): 21013 (HashMapValuesProxy): 21014 (WTF::HashMap::HashMapValuesProxy::begin): 21015 (WTF::HashMap::HashMapValuesProxy::end): 21016 (WTF::PairFirstExtractor::extract): 21017 (WTF::HashMapTranslator::hash): 21018 (WTF::HashMapTranslator::equal): 21019 (WTF::HashMapTranslator::translate): 21020 (WTF::HashMapTranslatorAdapter::hash): 21021 (WTF::HashMapTranslatorAdapter::equal): 21022 (WTF::HashMapTranslatorAdapter::translate): 21023 (WTF::::swap): 21024 (WTF::::size): 21025 (WTF::::capacity): 21026 (WTF::::isEmpty): 21027 (WTF::::begin): 21028 (WTF::::end): 21029 (WTF::::find): 21030 (WTF::::contains): 21031 (WTF::::inlineAdd): 21032 (WTF::::set): 21033 (WTF::::add): 21034 (WTF::::get): 21035 (WTF::::remove): 21036 (WTF::::clear): 21037 (WTF::::take): 21038 (WTF::::checkConsistency): 21039 (WTF::operator==): 21040 (WTF::operator!=): 21041 (WTF::deleteAllPairSeconds): 21042 (WTF::deleteAllValues): 21043 (WTF::deleteAllPairFirsts): 21044 (WTF::deleteAllKeys): 21045 (WTF::copyKeysToVector): 21046 (WTF::copyValuesToVector): 21047 * wtf/HashSet.h: Renamed from Source/JavaScriptCore/wtf/HashSet.h. 21048 (WTF): 21049 (HashSet): 21050 (WTF::IdentityExtractor::extract): 21051 (WTF::HashSetTranslatorAdapter::hash): 21052 (WTF::HashSetTranslatorAdapter::equal): 21053 (WTF::HashSetTranslatorAdapter::translate): 21054 (WTF::::swap): 21055 (WTF::::size): 21056 (WTF::::capacity): 21057 (WTF::::isEmpty): 21058 (WTF::::begin): 21059 (WTF::::end): 21060 (WTF::::find): 21061 (WTF::::contains): 21062 (WTF::::add): 21063 (WTF::::remove): 21064 (WTF::::clear): 21065 (WTF::deleteAllValues): 21066 (WTF::fastDeleteAllValues): 21067 (WTF::copyToVector): 21068 * wtf/HashTable.cpp: Renamed from Source/JavaScriptCore/wtf/HashTable.cpp. 21069 (WTF): 21070 (WTF::hashTableStatsMutex): 21071 (WTF::HashTableStats::~HashTableStats): 21072 (WTF::HashTableStats::recordCollisionAtCount): 21073 * wtf/HashTable.h: Renamed from Source/JavaScriptCore/wtf/HashTable.h. 21074 (WTF): 21075 (HashTableStats): 21076 (WTF::addIterator): 21077 (WTF::removeIterator): 21078 (HashTableConstIterator): 21079 (WTF::HashTableConstIterator::skipEmptyBuckets): 21080 (WTF::HashTableConstIterator::HashTableConstIterator): 21081 (WTF::HashTableConstIterator::~HashTableConstIterator): 21082 (WTF::HashTableConstIterator::operator=): 21083 (WTF::HashTableConstIterator::get): 21084 (WTF::HashTableConstIterator::operator*): 21085 (WTF::HashTableConstIterator::operator->): 21086 (WTF::HashTableConstIterator::operator++): 21087 (WTF::HashTableConstIterator::operator==): 21088 (WTF::HashTableConstIterator::operator!=): 21089 (WTF::HashTableConstIterator::checkValidity): 21090 (HashTableIterator): 21091 (WTF::HashTableIterator::HashTableIterator): 21092 (WTF::HashTableIterator::get): 21093 (WTF::HashTableIterator::operator*): 21094 (WTF::HashTableIterator::operator->): 21095 (WTF::HashTableIterator::operator++): 21096 (WTF::HashTableIterator::operator==): 21097 (WTF::HashTableIterator::operator!=): 21098 (WTF::HashTableIterator::operator const_iterator): 21099 (WTF::hashTableSwap): 21100 (IdentityHashTranslator): 21101 (WTF::IdentityHashTranslator::hash): 21102 (WTF::IdentityHashTranslator::equal): 21103 (WTF::IdentityHashTranslator::translate): 21104 (HashTable): 21105 (WTF::HashTable::~HashTable): 21106 (WTF::HashTable::begin): 21107 (WTF::HashTable::end): 21108 (WTF::HashTable::size): 21109 (WTF::HashTable::capacity): 21110 (WTF::HashTable::isEmpty): 21111 (WTF::HashTable::add): 21112 (WTF::HashTable::find): 21113 (WTF::HashTable::contains): 21114 (WTF::HashTable::isEmptyBucket): 21115 (WTF::HashTable::isDeletedBucket): 21116 (WTF::HashTable::isEmptyOrDeletedBucket): 21117 (WTF::HashTable::lookup): 21118 (WTF::HashTable::checkTableConsistency): 21119 (WTF::HashTable::internalCheckTableConsistency): 21120 (WTF::HashTable::internalCheckTableConsistencyExceptSize): 21121 (WTF::HashTable::lookupForWriting): 21122 (WTF::HashTable::shouldExpand): 21123 (WTF::HashTable::mustRehashInPlace): 21124 (WTF::HashTable::shouldShrink): 21125 (WTF::HashTable::shrink): 21126 (WTF::HashTable::deleteBucket): 21127 (WTF::HashTable::makeLookupResult): 21128 (WTF::HashTable::makeIterator): 21129 (WTF::HashTable::makeConstIterator): 21130 (WTF::HashTable::makeKnownGoodIterator): 21131 (WTF::HashTable::makeKnownGoodConstIterator): 21132 (WTF::HashTable::checkTableConsistencyExceptSize): 21133 (WTF::HashTable::invalidateIterators): 21134 (WTF::::HashTable): 21135 (WTF::doubleHash): 21136 (WTF::::checkKey): 21137 (WTF::::lookup): 21138 (WTF::::lookupForWriting): 21139 (WTF::::fullLookupForWriting): 21140 (WTF::::initializeBucket): 21141 (WTF::::add): 21142 (WTF::::addPassingHashCode): 21143 (WTF::::reinsert): 21144 (WTF::::find): 21145 (WTF::::contains): 21146 (WTF::::removeAndInvalidateWithoutEntryConsistencyCheck): 21147 (WTF::::removeAndInvalidate): 21148 (WTF::::remove): 21149 (WTF::::removeWithoutEntryConsistencyCheck): 21150 (WTF::::allocateTable): 21151 (WTF::::deallocateTable): 21152 (WTF::::expand): 21153 (WTF::::rehash): 21154 (WTF::::clear): 21155 (WTF::::swap): 21156 (WTF::=): 21157 (WTF::::checkTableConsistency): 21158 (WTF::::checkTableConsistencyExceptSize): 21159 (WTF::::invalidateIterators): 21160 (WTF::HashTableConstIteratorAdapter::HashTableConstIteratorAdapter): 21161 (HashTableConstIteratorAdapter): 21162 (WTF::HashTableConstIteratorAdapter::get): 21163 (WTF::HashTableConstIteratorAdapter::operator*): 21164 (WTF::HashTableConstIteratorAdapter::operator->): 21165 (WTF::HashTableConstIteratorAdapter::operator++): 21166 (WTF::HashTableIteratorAdapter::HashTableIteratorAdapter): 21167 (HashTableIteratorAdapter): 21168 (WTF::HashTableIteratorAdapter::get): 21169 (WTF::HashTableIteratorAdapter::operator*): 21170 (WTF::HashTableIteratorAdapter::operator->): 21171 (WTF::HashTableIteratorAdapter::operator++): 21172 (WTF::HashTableIteratorAdapter::operator HashTableConstIteratorAdapter<HashTableType, ValueType>): 21173 (WTF::operator==): 21174 (WTF::operator!=): 21175 * wtf/HashTraits.h: Renamed from Source/JavaScriptCore/wtf/HashTraits.h. 21176 (WTF): 21177 (GenericHashTraits): 21178 (WTF::GenericHashTraits::emptyValue): 21179 (WTF::GenericHashTraits::store): 21180 (WTF::GenericHashTraits::passOut): 21181 (WTF::GenericHashTraits::peek): 21182 (FloatHashTraits): 21183 (WTF::FloatHashTraits::emptyValue): 21184 (WTF::FloatHashTraits::constructDeletedValue): 21185 (WTF::FloatHashTraits::isDeletedValue): 21186 (UnsignedWithZeroKeyHashTraits): 21187 (WTF::UnsignedWithZeroKeyHashTraits::emptyValue): 21188 (WTF::UnsignedWithZeroKeyHashTraits::constructDeletedValue): 21189 (WTF::UnsignedWithZeroKeyHashTraits::isDeletedValue): 21190 (SimpleClassHashTraits): 21191 (WTF::SimpleClassHashTraits::constructDeletedValue): 21192 (WTF::SimpleClassHashTraits::isDeletedValue): 21193 (PairHashTraits): 21194 (WTF::PairHashTraits::emptyValue): 21195 (WTF::PairHashTraits::constructDeletedValue): 21196 (WTF::PairHashTraits::isDeletedValue): 21197 * wtf/HexNumber.h: Renamed from Source/JavaScriptCore/wtf/HexNumber.h. 21198 (WTF): 21199 (Internal): 21200 (WTF::Internal::hexDigitsForMode): 21201 (WTF::appendByteAsHex): 21202 (WTF::placeByteAsHexCompressIfPossible): 21203 (WTF::placeByteAsHex): 21204 (WTF::appendUnsignedAsHex): 21205 (WTF::appendUnsignedAsHexFixedSize): 21206 * wtf/InlineASM.h: Renamed from Source/JavaScriptCore/wtf/InlineASM.h. 21207 * wtf/Int16Array.h: Renamed from Source/JavaScriptCore/wtf/Int16Array.h. 21208 (WTF): 21209 (Int16Array): 21210 (WTF::Int16Array::set): 21211 (WTF::Int16Array::isShortArray): 21212 (WTF::Int16Array::create): 21213 (WTF::Int16Array::Int16Array): 21214 (WTF::Int16Array::subarray): 21215 * wtf/Int32Array.h: Renamed from Source/JavaScriptCore/wtf/Int32Array.h. 21216 (WTF): 21217 (Int32Array): 21218 (WTF::Int32Array::set): 21219 (WTF::Int32Array::isIntArray): 21220 (WTF::Int32Array::create): 21221 (WTF::Int32Array::Int32Array): 21222 (WTF::Int32Array::subarray): 21223 * wtf/Int8Array.h: Renamed from Source/JavaScriptCore/wtf/Int8Array.h. 21224 (WTF): 21225 (Int8Array): 21226 (WTF::Int8Array::set): 21227 (WTF::Int8Array::isByteArray): 21228 (WTF::Int8Array::create): 21229 (WTF::Int8Array::Int8Array): 21230 (WTF::Int8Array::subarray): 21231 * wtf/IntegralTypedArrayBase.h: Renamed from Source/JavaScriptCore/wtf/IntegralTypedArrayBase.h. 21232 (WTF): 21233 (IntegralTypedArrayBase): 21234 (WTF::IntegralTypedArrayBase::set): 21235 (WTF::IntegralTypedArrayBase::item): 21236 (WTF::IntegralTypedArrayBase::IntegralTypedArrayBase): 21237 * wtf/ListHashSet.h: Renamed from Source/JavaScriptCore/wtf/ListHashSet.h. 21238 (WTF): 21239 (ListHashSet): 21240 (ListHashSetNodeAllocator): 21241 (WTF::ListHashSetNodeAllocator::ListHashSetNodeAllocator): 21242 (WTF::ListHashSetNodeAllocator::allocate): 21243 (WTF::ListHashSetNodeAllocator::deallocate): 21244 (WTF::ListHashSetNodeAllocator::pool): 21245 (WTF::ListHashSetNodeAllocator::pastPool): 21246 (WTF::ListHashSetNodeAllocator::inPool): 21247 (ListHashSetNode): 21248 (WTF::ListHashSetNode::ListHashSetNode): 21249 (WTF::ListHashSetNode::operator new): 21250 (WTF::ListHashSetNode::destroy): 21251 (WTF::ListHashSetNodeHashFunctions::hash): 21252 (WTF::ListHashSetNodeHashFunctions::equal): 21253 (ListHashSetNodeHashFunctions): 21254 (ListHashSetIterator): 21255 (WTF::ListHashSetIterator::ListHashSetIterator): 21256 (WTF::ListHashSetIterator::get): 21257 (WTF::ListHashSetIterator::operator*): 21258 (WTF::ListHashSetIterator::operator->): 21259 (WTF::ListHashSetIterator::operator++): 21260 (WTF::ListHashSetIterator::operator--): 21261 (WTF::ListHashSetIterator::operator==): 21262 (WTF::ListHashSetIterator::operator!=): 21263 (WTF::ListHashSetIterator::operator const_iterator): 21264 (WTF::ListHashSetIterator::node): 21265 (ListHashSetConstIterator): 21266 (WTF::ListHashSetConstIterator::ListHashSetConstIterator): 21267 (WTF::ListHashSetConstIterator::get): 21268 (WTF::ListHashSetConstIterator::operator*): 21269 (WTF::ListHashSetConstIterator::operator->): 21270 (WTF::ListHashSetConstIterator::operator++): 21271 (WTF::ListHashSetConstIterator::operator--): 21272 (WTF::ListHashSetConstIterator::operator==): 21273 (WTF::ListHashSetConstIterator::operator!=): 21274 (WTF::ListHashSetConstIterator::node): 21275 (ListHashSetReverseIterator): 21276 (WTF::ListHashSetReverseIterator::ListHashSetReverseIterator): 21277 (WTF::ListHashSetReverseIterator::get): 21278 (WTF::ListHashSetReverseIterator::operator*): 21279 (WTF::ListHashSetReverseIterator::operator->): 21280 (WTF::ListHashSetReverseIterator::operator++): 21281 (WTF::ListHashSetReverseIterator::operator--): 21282 (WTF::ListHashSetReverseIterator::operator==): 21283 (WTF::ListHashSetReverseIterator::operator!=): 21284 (WTF::ListHashSetReverseIterator::operator const_reverse_iterator): 21285 (WTF::ListHashSetReverseIterator::node): 21286 (ListHashSetConstReverseIterator): 21287 (WTF::ListHashSetConstReverseIterator::ListHashSetConstReverseIterator): 21288 (WTF::ListHashSetConstReverseIterator::get): 21289 (WTF::ListHashSetConstReverseIterator::operator*): 21290 (WTF::ListHashSetConstReverseIterator::operator->): 21291 (WTF::ListHashSetConstReverseIterator::operator++): 21292 (WTF::ListHashSetConstReverseIterator::operator--): 21293 (WTF::ListHashSetConstReverseIterator::operator==): 21294 (WTF::ListHashSetConstReverseIterator::operator!=): 21295 (WTF::ListHashSetConstReverseIterator::node): 21296 (WTF::ListHashSetTranslator::hash): 21297 (WTF::ListHashSetTranslator::equal): 21298 (WTF::ListHashSetTranslator::translate): 21299 (WTF::::ListHashSet): 21300 (WTF::=): 21301 (WTF::::swap): 21302 (WTF::::~ListHashSet): 21303 (WTF::::size): 21304 (WTF::::capacity): 21305 (WTF::::isEmpty): 21306 (WTF::::begin): 21307 (WTF::::end): 21308 (WTF::::rbegin): 21309 (WTF::::rend): 21310 (WTF::::first): 21311 (WTF::::last): 21312 (WTF::::removeLast): 21313 (WTF::::find): 21314 (WTF::ListHashSetTranslatorAdapter::hash): 21315 (WTF::ListHashSetTranslatorAdapter::equal): 21316 (WTF::::contains): 21317 (WTF::::add): 21318 (WTF::::insertBefore): 21319 (WTF::::remove): 21320 (WTF::::clear): 21321 (WTF::::unlinkAndDelete): 21322 (WTF::::appendNode): 21323 (WTF::::insertNodeBefore): 21324 (WTF::::deleteAllNodes): 21325 (WTF::::makeReverseIterator): 21326 (WTF::::makeConstReverseIterator): 21327 (WTF::::makeIterator): 21328 (WTF::::makeConstIterator): 21329 (WTF::deleteAllValues): 21330 * wtf/ListRefPtr.h: Renamed from Source/JavaScriptCore/wtf/ListRefPtr.h. 21331 (WTF): 21332 (ListRefPtr): 21333 (WTF::ListRefPtr::ListRefPtr): 21334 (WTF::ListRefPtr::~ListRefPtr): 21335 (WTF::ListRefPtr::operator=): 21336 (WTF::getPtr): 21337 * wtf/Locker.h: Renamed from Source/JavaScriptCore/wtf/Locker.h. 21338 (WTF): 21339 (Locker): 21340 (WTF::Locker::Locker): 21341 (WTF::Locker::~Locker): 21342 * wtf/MD5.cpp: Renamed from Source/JavaScriptCore/wtf/MD5.cpp. 21343 (WTF): 21344 (WTF::testMD5): 21345 (WTF::expectMD5): 21346 (WTF::reverseBytes): 21347 (WTF::MD5Transform): 21348 (WTF::MD5::MD5): 21349 (WTF::MD5::addBytes): 21350 (WTF::MD5::checksum): 21351 * wtf/MD5.h: Renamed from Source/JavaScriptCore/wtf/MD5.h. 21352 (WTF): 21353 (MD5): 21354 (WTF::MD5::addBytes): 21355 * wtf/MainThread.cpp: Renamed from Source/JavaScriptCore/wtf/MainThread.cpp. 21356 (WTF): 21357 (FunctionWithContext): 21358 (WTF::FunctionWithContext::FunctionWithContext): 21359 (WTF::FunctionWithContext::operator == ): 21360 (FunctionWithContextFinder): 21361 (WTF::FunctionWithContextFinder::FunctionWithContextFinder): 21362 (WTF::FunctionWithContextFinder::operator()): 21363 (WTF::mainThreadFunctionQueueMutex): 21364 (WTF::functionQueue): 21365 (WTF::initializeMainThread): 21366 (WTF::initializeMainThreadOnce): 21367 (WTF::initializeMainThreadToProcessMainThreadOnce): 21368 (WTF::initializeMainThreadToProcessMainThread): 21369 (WTF::dispatchFunctionsFromMainThread): 21370 (WTF::callOnMainThread): 21371 (WTF::callOnMainThreadAndWait): 21372 (WTF::cancelCallOnMainThread): 21373 (WTF::callFunctionObject): 21374 (WTF::setMainThreadCallbacksPaused): 21375 (WTF::isMainThread): 21376 (WTF::initializeGCThreads): 21377 (WTF::registerGCThread): 21378 (WTF::isMainThreadOrGCThread): 21379 * wtf/MainThread.h: Renamed from Source/JavaScriptCore/wtf/MainThread.h. 21380 (WTF): 21381 (WTF::isMainThreadOrGCThread): 21382 * wtf/MallocZoneSupport.h: Renamed from Source/JavaScriptCore/wtf/MallocZoneSupport.h. 21383 (WTF): 21384 (RemoteMemoryReader): 21385 (WTF::RemoteMemoryReader::RemoteMemoryReader): 21386 (WTF::RemoteMemoryReader::operator()): 21387 (WTF::RemoteMemoryReader::nextEntryInLinkedList): 21388 * wtf/MathExtras.h: Renamed from Source/JavaScriptCore/wtf/MathExtras.h. 21389 (wtf_ceil): 21390 (isfinite): 21391 (isinf): 21392 (signbit): 21393 (round): 21394 (roundf): 21395 (llround): 21396 (llroundf): 21397 (lround): 21398 (lroundf): 21399 (trunc): 21400 (abs): 21401 (isnan): 21402 (nextafter): 21403 (nextafterf): 21404 (copysign): 21405 (log2): 21406 (log2f): 21407 (wtf_atan2): 21408 (wtf_fmod): 21409 (wtf_pow): 21410 (deg2rad): 21411 (rad2deg): 21412 (deg2grad): 21413 (grad2deg): 21414 (turn2deg): 21415 (deg2turn): 21416 (rad2grad): 21417 (grad2rad): 21418 (defaultMinimumForClamp): 21419 (defaultMaximumForClamp): 21420 (clampTo): 21421 (clampToInteger): 21422 (clampToFloat): 21423 (clampToPositiveInteger): 21424 (isWithinIntRange): 21425 (decomposeDouble): 21426 (doubleToInteger): 21427 * wtf/MessageQueue.h: Renamed from Source/JavaScriptCore/wtf/MessageQueue.h. 21428 (WTF): 21429 (MessageQueue): 21430 (WTF::MessageQueue::MessageQueue): 21431 (WTF::MessageQueue::infiniteTime): 21432 (WTF::MessageQueue::alwaysTruePredicate): 21433 (WTF::::~MessageQueue): 21434 (WTF::::append): 21435 (WTF::::appendAndCheckEmpty): 21436 (WTF::::prepend): 21437 (WTF::::waitForMessage): 21438 (WTF::::waitForMessageFilteredWithTimeout): 21439 (WTF::::tryGetMessage): 21440 (WTF::::tryGetMessageIgnoringKilled): 21441 (WTF::::removeIf): 21442 (WTF::::isEmpty): 21443 (WTF::::kill): 21444 (WTF::::killed): 21445 * wtf/MetaAllocator.cpp: Renamed from Source/JavaScriptCore/wtf/MetaAllocator.cpp. 21446 (WTF): 21447 (WTF::MetaAllocator::~MetaAllocator): 21448 (WTF::MetaAllocatorTracker::notify): 21449 (WTF::MetaAllocatorTracker::release): 21450 (WTF::MetaAllocator::release): 21451 (WTF::MetaAllocatorHandle::MetaAllocatorHandle): 21452 (WTF::MetaAllocatorHandle::~MetaAllocatorHandle): 21453 (WTF::MetaAllocatorHandle::shrink): 21454 (WTF::MetaAllocator::MetaAllocator): 21455 (WTF::MetaAllocator::allocate): 21456 (WTF::MetaAllocator::currentStatistics): 21457 (WTF::MetaAllocator::findAndRemoveFreeSpace): 21458 (WTF::MetaAllocator::addFreeSpaceFromReleasedHandle): 21459 (WTF::MetaAllocator::addFreshFreeSpace): 21460 (WTF::MetaAllocator::debugFreeSpaceSize): 21461 (WTF::MetaAllocator::addFreeSpace): 21462 (WTF::MetaAllocator::incrementPageOccupancy): 21463 (WTF::MetaAllocator::decrementPageOccupancy): 21464 (WTF::MetaAllocator::roundUp): 21465 (WTF::MetaAllocator::allocFreeSpaceNode): 21466 (WTF::MetaAllocator::freeFreeSpaceNode): 21467 (WTF::MetaAllocator::dumpProfile): 21468 * wtf/MetaAllocator.h: Renamed from Source/JavaScriptCore/wtf/MetaAllocator.h. 21469 (WTF): 21470 (MetaAllocatorTracker): 21471 (WTF::MetaAllocatorTracker::find): 21472 (MetaAllocator): 21473 (WTF::MetaAllocator::trackAllocations): 21474 (WTF::MetaAllocator::bytesAllocated): 21475 (WTF::MetaAllocator::bytesReserved): 21476 (WTF::MetaAllocator::bytesCommitted): 21477 (Statistics): 21478 (WTF::MetaAllocator::dumpProfile): 21479 (FreeSpaceNode): 21480 (WTF::MetaAllocator::FreeSpaceNode::FreeSpaceNode): 21481 (WTF::MetaAllocator::FreeSpaceNode::key): 21482 * wtf/MetaAllocatorHandle.h: Renamed from Source/JavaScriptCore/wtf/MetaAllocatorHandle.h. 21483 (WTF): 21484 (MetaAllocatorHandle): 21485 (WTF::MetaAllocatorHandle::start): 21486 (WTF::MetaAllocatorHandle::end): 21487 (WTF::MetaAllocatorHandle::sizeInBytes): 21488 (WTF::MetaAllocatorHandle::isManaged): 21489 (WTF::MetaAllocatorHandle::allocator): 21490 (WTF::MetaAllocatorHandle::ownerUID): 21491 (WTF::MetaAllocatorHandle::key): 21492 * wtf/NonCopyingSort.h: Renamed from Source/JavaScriptCore/wtf/NonCopyingSort.h. 21493 (WTF): 21494 (WTF::siftDown): 21495 (WTF::heapify): 21496 (WTF::heapSort): 21497 (WTF::nonCopyingSort): 21498 * wtf/Noncopyable.h: Renamed from Source/JavaScriptCore/wtf/Noncopyable.h. 21499 * wtf/NotFound.h: Renamed from Source/JavaScriptCore/wtf/NotFound.h. 21500 (WTF): 21501 * wtf/NullPtr.cpp: Renamed from Source/JavaScriptCore/wtf/NullPtr.cpp. 21502 * wtf/NullPtr.h: Renamed from Source/JavaScriptCore/wtf/NullPtr.h. 21503 * wtf/NumberOfCores.cpp: Renamed from Source/JavaScriptCore/wtf/NumberOfCores.cpp. 21504 (WTF): 21505 (WTF::numberOfProcessorCores): 21506 * wtf/NumberOfCores.h: Renamed from Source/JavaScriptCore/wtf/NumberOfCores.h. 21507 (WTF): 21508 * wtf/OSAllocator.h: Renamed from Source/JavaScriptCore/wtf/OSAllocator.h. 21509 (WTF): 21510 (OSAllocator): 21511 (WTF::OSAllocator::reserveAndCommit): 21512 (WTF::OSAllocator::decommitAndRelease): 21513 (WTF::OSAllocator::reallocateCommitted): 21514 * wtf/OSAllocatorPosix.cpp: Renamed from Source/JavaScriptCore/wtf/OSAllocatorPosix.cpp. 21515 (WTF): 21516 (WTF::OSAllocator::reserveUncommitted): 21517 (WTF::OSAllocator::reserveAndCommit): 21518 (WTF::OSAllocator::commit): 21519 (WTF::OSAllocator::decommit): 21520 (WTF::OSAllocator::releaseDecommitted): 21521 * wtf/OSAllocatorWin.cpp: Renamed from Source/JavaScriptCore/wtf/OSAllocatorWin.cpp. 21522 (WTF): 21523 (WTF::protection): 21524 (WTF::OSAllocator::reserveUncommitted): 21525 (WTF::OSAllocator::reserveAndCommit): 21526 (WTF::OSAllocator::commit): 21527 (WTF::OSAllocator::decommit): 21528 (WTF::OSAllocator::releaseDecommitted): 21529 * wtf/OSRandomSource.cpp: Renamed from Source/JavaScriptCore/wtf/OSRandomSource.cpp. 21530 (WTF): 21531 (WTF::cryptographicallyRandomValuesFromOS): 21532 * wtf/OSRandomSource.h: Renamed from Source/JavaScriptCore/wtf/OSRandomSource.h. 21533 (WTF): 21534 * wtf/OwnArrayPtr.h: Renamed from Source/JavaScriptCore/wtf/OwnArrayPtr.h. 21535 (WTF): 21536 (OwnArrayPtr): 21537 (WTF::OwnArrayPtr::OwnArrayPtr): 21538 (WTF::OwnArrayPtr::~OwnArrayPtr): 21539 (WTF::OwnArrayPtr::get): 21540 (WTF::OwnArrayPtr::operator*): 21541 (WTF::OwnArrayPtr::operator->): 21542 (WTF::OwnArrayPtr::operator[]): 21543 (WTF::OwnArrayPtr::operator!): 21544 (WTF::OwnArrayPtr::operator UnspecifiedBoolType): 21545 (WTF::OwnArrayPtr::operator=): 21546 (WTF::OwnArrayPtr::swap): 21547 (WTF::::OwnArrayPtr): 21548 (WTF::::clear): 21549 (WTF::::release): 21550 (WTF::::leakPtr): 21551 (WTF::=): 21552 (WTF::swap): 21553 (WTF::operator==): 21554 (WTF::operator!=): 21555 (WTF::getPtr): 21556 * wtf/OwnPtr.h: Renamed from Source/JavaScriptCore/wtf/OwnPtr.h. 21557 (WTF): 21558 (OwnPtr): 21559 (WTF::OwnPtr::OwnPtr): 21560 (WTF::OwnPtr::~OwnPtr): 21561 (WTF::OwnPtr::get): 21562 (WTF::OwnPtr::operator*): 21563 (WTF::OwnPtr::operator->): 21564 (WTF::OwnPtr::operator!): 21565 (WTF::OwnPtr::operator UnspecifiedBoolType): 21566 (WTF::OwnPtr::operator=): 21567 (WTF::OwnPtr::swap): 21568 (WTF::OwnPtr::operator==): 21569 (WTF::OwnPtr::operator!=): 21570 (WTF::::OwnPtr): 21571 (WTF::::clear): 21572 (WTF::::release): 21573 (WTF::::leakPtr): 21574 (WTF::=): 21575 (WTF::swap): 21576 (WTF::operator==): 21577 (WTF::operator!=): 21578 (WTF::getPtr): 21579 * wtf/OwnPtrCommon.h: Renamed from Source/JavaScriptCore/wtf/OwnPtrCommon.h. 21580 (WTF): 21581 (WTF::deleteOwnedPtr): 21582 * wtf/PackedIntVector.h: Renamed from Source/JavaScriptCore/wtf/PackedIntVector.h. 21583 (WTF): 21584 (PackedIntVector): 21585 (WTF::PackedIntVector::PackedIntVector): 21586 (WTF::PackedIntVector::operator=): 21587 (WTF::PackedIntVector::size): 21588 (WTF::PackedIntVector::ensureSize): 21589 (WTF::PackedIntVector::resize): 21590 (WTF::PackedIntVector::clearAll): 21591 (WTF::PackedIntVector::get): 21592 (WTF::PackedIntVector::set): 21593 (WTF::PackedIntVector::mask): 21594 * wtf/PageAllocation.h: Renamed from Source/JavaScriptCore/wtf/PageAllocation.h. 21595 (WTF): 21596 (PageAllocation): 21597 (WTF::PageAllocation::PageAllocation): 21598 (WTF::PageAllocation::operator bool): 21599 (WTF::PageAllocation::allocate): 21600 (WTF::PageAllocation::deallocate): 21601 * wtf/PageAllocationAligned.cpp: Renamed from Source/JavaScriptCore/wtf/PageAllocationAligned.cpp. 21602 (WTF): 21603 (WTF::PageAllocationAligned::allocate): 21604 (WTF::PageAllocationAligned::deallocate): 21605 * wtf/PageAllocationAligned.h: Renamed from Source/JavaScriptCore/wtf/PageAllocationAligned.h. 21606 (WTF): 21607 (PageAllocationAligned): 21608 (WTF::PageAllocationAligned::PageAllocationAligned): 21609 * wtf/PageBlock.cpp: Renamed from Source/JavaScriptCore/wtf/PageBlock.cpp. 21610 (WTF): 21611 (WTF::systemPageSize): 21612 (WTF::pageSize): 21613 (WTF::pageMask): 21614 * wtf/PageBlock.h: Renamed from Source/JavaScriptCore/wtf/PageBlock.h. 21615 (WTF): 21616 (WTF::isPageAligned): 21617 (WTF::isPowerOfTwo): 21618 (PageBlock): 21619 (WTF::PageBlock::base): 21620 (WTF::PageBlock::size): 21621 (WTF::PageBlock::operator bool): 21622 (WTF::PageBlock::contains): 21623 (WTF::PageBlock::PageBlock): 21624 * wtf/PageReservation.h: Renamed from Source/JavaScriptCore/wtf/PageReservation.h. 21625 (WTF): 21626 (PageReservation): 21627 (WTF::PageReservation::PageReservation): 21628 (WTF::PageReservation::operator bool): 21629 (WTF::PageReservation::commit): 21630 (WTF::PageReservation::decommit): 21631 (WTF::PageReservation::committed): 21632 (WTF::PageReservation::reserve): 21633 (WTF::PageReservation::reserveWithGuardPages): 21634 (WTF::PageReservation::deallocate): 21635 * wtf/ParallelJobs.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobs.h. 21636 (WTF): 21637 (ParallelJobs): 21638 (WTF::ParallelJobs::ParallelJobs): 21639 (WTF::ParallelJobs::numberOfJobs): 21640 (WTF::ParallelJobs::parameter): 21641 (WTF::ParallelJobs::execute): 21642 * wtf/ParallelJobsGeneric.cpp: Renamed from Source/JavaScriptCore/wtf/ParallelJobsGeneric.cpp. 21643 (WTF): 21644 (WTF::ParallelEnvironment::ParallelEnvironment): 21645 (WTF::ParallelEnvironment::execute): 21646 (WTF::ParallelEnvironment::ThreadPrivate::tryLockFor): 21647 (WTF::ParallelEnvironment::ThreadPrivate::execute): 21648 (WTF::ParallelEnvironment::ThreadPrivate::waitForFinish): 21649 (WTF::ParallelEnvironment::ThreadPrivate::workerThread): 21650 * wtf/ParallelJobsGeneric.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobsGeneric.h. 21651 (WTF): 21652 (ParallelEnvironment): 21653 (WTF::ParallelEnvironment::numberOfJobs): 21654 (ThreadPrivate): 21655 (WTF::ParallelEnvironment::ThreadPrivate::ThreadPrivate): 21656 (WTF::ParallelEnvironment::ThreadPrivate::create): 21657 * wtf/ParallelJobsLibdispatch.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobsLibdispatch.h. 21658 (WTF): 21659 (ParallelEnvironment): 21660 (WTF::ParallelEnvironment::ParallelEnvironment): 21661 (WTF::ParallelEnvironment::numberOfJobs): 21662 (WTF::ParallelEnvironment::execute): 21663 * wtf/ParallelJobsOpenMP.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobsOpenMP.h. 21664 (WTF): 21665 (ParallelEnvironment): 21666 (WTF::ParallelEnvironment::ParallelEnvironment): 21667 (WTF::ParallelEnvironment::numberOfJobs): 21668 (WTF::ParallelEnvironment::execute): 21669 * wtf/PassOwnArrayPtr.h: Renamed from Source/JavaScriptCore/wtf/PassOwnArrayPtr.h. 21670 (WTF): 21671 (PassOwnArrayPtr): 21672 (WTF::PassOwnArrayPtr::PassOwnArrayPtr): 21673 (WTF::PassOwnArrayPtr::~PassOwnArrayPtr): 21674 (WTF::PassOwnArrayPtr::get): 21675 (WTF::PassOwnArrayPtr::operator*): 21676 (WTF::PassOwnArrayPtr::operator->): 21677 (WTF::PassOwnArrayPtr::operator!): 21678 (WTF::PassOwnArrayPtr::operator UnspecifiedBoolType): 21679 (WTF::PassOwnArrayPtr::operator=): 21680 (WTF::::leakPtr): 21681 (WTF::operator==): 21682 (WTF::operator!=): 21683 (WTF::adoptArrayPtr): 21684 (WTF::deleteOwnedArrayPtr): 21685 (WTF::static_pointer_cast): 21686 (WTF::const_pointer_cast): 21687 (WTF::getPtr): 21688 * wtf/PassOwnPtr.h: Renamed from Source/JavaScriptCore/wtf/PassOwnPtr.h. 21689 (WTF): 21690 (PassOwnPtr): 21691 (WTF::PassOwnPtr::PassOwnPtr): 21692 (WTF::PassOwnPtr::~PassOwnPtr): 21693 (WTF::PassOwnPtr::get): 21694 (WTF::PassOwnPtr::operator*): 21695 (WTF::PassOwnPtr::operator->): 21696 (WTF::PassOwnPtr::operator!): 21697 (WTF::PassOwnPtr::operator UnspecifiedBoolType): 21698 (WTF::PassOwnPtr::operator=): 21699 (WTF::PassOwnPtr::operator==): 21700 (WTF::PassOwnPtr::operator!=): 21701 (WTF::::leakPtr): 21702 (WTF::operator==): 21703 (WTF::operator!=): 21704 (WTF::adoptPtr): 21705 (WTF::static_pointer_cast): 21706 (WTF::const_pointer_cast): 21707 (WTF::getPtr): 21708 * wtf/PassRefPtr.h: Renamed from Source/JavaScriptCore/wtf/PassRefPtr.h. 21709 (WTF): 21710 (WTF::adopted): 21711 (WTF::refIfNotNull): 21712 (WTF::derefIfNotNull): 21713 (PassRefPtr): 21714 (WTF::PassRefPtr::PassRefPtr): 21715 (WTF::PassRefPtr::~PassRefPtr): 21716 (WTF::PassRefPtr::get): 21717 (WTF::PassRefPtr::operator*): 21718 (WTF::PassRefPtr::operator->): 21719 (WTF::PassRefPtr::operator!): 21720 (WTF::PassRefPtr::operator UnspecifiedBoolType): 21721 (WTF::PassRefPtr::operator=): 21722 (NonNullPassRefPtr): 21723 (WTF::NonNullPassRefPtr::NonNullPassRefPtr): 21724 (WTF::NonNullPassRefPtr::~NonNullPassRefPtr): 21725 (WTF::NonNullPassRefPtr::get): 21726 (WTF::NonNullPassRefPtr::operator*): 21727 (WTF::NonNullPassRefPtr::operator->): 21728 (WTF::NonNullPassRefPtr::operator=): 21729 (WTF::::PassRefPtr): 21730 (WTF::::leakRef): 21731 (WTF::operator==): 21732 (WTF::operator!=): 21733 (WTF::adoptRef): 21734 (WTF::static_pointer_cast): 21735 (WTF::const_pointer_cast): 21736 (WTF::getPtr): 21737 * wtf/PassTraits.h: Renamed from Source/JavaScriptCore/wtf/PassTraits.h. 21738 (WTF): 21739 (PassTraits): 21740 (WTF::PassTraits::transfer): 21741 * wtf/PlatformBlackBerry.cmake: Renamed from Source/JavaScriptCore/wtf/PlatformBlackBerry.cmake. 21742 * wtf/PlatformEfl.cmake: Renamed from Source/JavaScriptCore/wtf/PlatformEfl.cmake. 21743 * wtf/PlatformWinCE.cmake: Renamed from Source/JavaScriptCore/wtf/PlatformWinCE.cmake. 21744 * wtf/PossiblyNull.h: Renamed from Source/JavaScriptCore/wtf/PossiblyNull.h. 21745 (WTF): 21746 (WTF::PossiblyNull::PossiblyNull): 21747 (WTF::PossiblyNull::~PossiblyNull): 21748 (PossiblyNull): 21749 (WTF::::getValue): 21750 * wtf/RandomNumber.cpp: Renamed from Source/JavaScriptCore/wtf/RandomNumber.cpp. 21751 (WTF): 21752 (WTF::randomNumber): 21753 * wtf/RandomNumber.h: Renamed from Source/JavaScriptCore/wtf/RandomNumber.h. 21754 (WTF): 21755 * wtf/RandomNumberSeed.h: Renamed from Source/JavaScriptCore/wtf/RandomNumberSeed.h. 21756 (WTF): 21757 (WTF::initializeRandomNumberGenerator): 21758 * wtf/RedBlackTree.h: Renamed from Source/JavaScriptCore/wtf/RedBlackTree.h. 21759 (WTF): 21760 (RedBlackTree): 21761 (Node): 21762 (WTF::RedBlackTree::Node::successor): 21763 (WTF::RedBlackTree::Node::predecessor): 21764 (WTF::RedBlackTree::Node::reset): 21765 (WTF::RedBlackTree::Node::parent): 21766 (WTF::RedBlackTree::Node::setParent): 21767 (WTF::RedBlackTree::Node::left): 21768 (WTF::RedBlackTree::Node::setLeft): 21769 (WTF::RedBlackTree::Node::right): 21770 (WTF::RedBlackTree::Node::setRight): 21771 (WTF::RedBlackTree::Node::color): 21772 (WTF::RedBlackTree::Node::setColor): 21773 (WTF::RedBlackTree::RedBlackTree): 21774 (WTF::RedBlackTree::insert): 21775 (WTF::RedBlackTree::remove): 21776 (WTF::RedBlackTree::findExact): 21777 (WTF::RedBlackTree::findLeastGreaterThanOrEqual): 21778 (WTF::RedBlackTree::findGreatestLessThanOrEqual): 21779 (WTF::RedBlackTree::first): 21780 (WTF::RedBlackTree::last): 21781 (WTF::RedBlackTree::size): 21782 (WTF::RedBlackTree::isEmpty): 21783 (WTF::RedBlackTree::treeMinimum): 21784 (WTF::RedBlackTree::treeMaximum): 21785 (WTF::RedBlackTree::treeInsert): 21786 (WTF::RedBlackTree::leftRotate): 21787 (WTF::RedBlackTree::rightRotate): 21788 (WTF::RedBlackTree::removeFixup): 21789 * wtf/RefCounted.h: Renamed from Source/JavaScriptCore/wtf/RefCounted.h. 21790 (WTF): 21791 (RefCountedBase): 21792 (WTF::RefCountedBase::ref): 21793 (WTF::RefCountedBase::hasOneRef): 21794 (WTF::RefCountedBase::refCount): 21795 (WTF::RefCountedBase::turnOffVerifier): 21796 (WTF::RefCountedBase::relaxAdoptionRequirement): 21797 (WTF::RefCountedBase::addressOfCount): 21798 (WTF::RefCountedBase::RefCountedBase): 21799 (WTF::RefCountedBase::~RefCountedBase): 21800 (WTF::RefCountedBase::derefBase): 21801 (WTF::RefCountedBase::deletionHasBegun): 21802 (WTF::adopted): 21803 (RefCounted): 21804 (WTF::RefCounted::deref): 21805 (WTF::RefCounted::RefCounted): 21806 (WTF::RefCounted::~RefCounted): 21807 (RefCountedCustomAllocated): 21808 (WTF::RefCountedCustomAllocated::deref): 21809 (WTF::RefCountedCustomAllocated::~RefCountedCustomAllocated): 21810 (WTF::RefCountedBase::setMutexForVerifier): 21811 (WTF::RefCountedBase::setDispatchQueueForVerifier): 21812 * wtf/RefCountedArray.h: Renamed from Source/JavaScriptCore/wtf/RefCountedArray.h. 21813 (WTF): 21814 (RefCountedArray): 21815 (WTF::RefCountedArray::RefCountedArray): 21816 (WTF::RefCountedArray::operator=): 21817 (WTF::RefCountedArray::~RefCountedArray): 21818 (WTF::RefCountedArray::size): 21819 (WTF::RefCountedArray::data): 21820 (WTF::RefCountedArray::begin): 21821 (WTF::RefCountedArray::end): 21822 (WTF::RefCountedArray::at): 21823 (WTF::RefCountedArray::operator[]): 21824 (Header): 21825 (WTF::RefCountedArray::Header::size): 21826 (WTF::RefCountedArray::Header::payload): 21827 (WTF::RefCountedArray::Header::fromPayload): 21828 * wtf/RefCountedLeakCounter.cpp: Renamed from Source/JavaScriptCore/wtf/RefCountedLeakCounter.cpp. 21829 (WTF): 21830 (WTF::RefCountedLeakCounter::suppressMessages): 21831 (WTF::RefCountedLeakCounter::cancelMessageSuppression): 21832 (WTF::RefCountedLeakCounter::RefCountedLeakCounter): 21833 (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): 21834 (WTF::RefCountedLeakCounter::increment): 21835 (WTF::RefCountedLeakCounter::decrement): 21836 * wtf/RefCountedLeakCounter.h: Renamed from Source/JavaScriptCore/wtf/RefCountedLeakCounter.h. 21837 (WTF): 21838 (RefCountedLeakCounter): 21839 * wtf/RefPtr.h: Renamed from Source/JavaScriptCore/wtf/RefPtr.h. 21840 (WTF): 21841 (RefPtr): 21842 (WTF::RefPtr::RefPtr): 21843 (WTF::RefPtr::isHashTableDeletedValue): 21844 (WTF::RefPtr::~RefPtr): 21845 (WTF::RefPtr::get): 21846 (WTF::RefPtr::release): 21847 (WTF::RefPtr::operator*): 21848 (WTF::RefPtr::operator->): 21849 (WTF::RefPtr::operator!): 21850 (WTF::RefPtr::operator UnspecifiedBoolType): 21851 (WTF::RefPtr::operator=): 21852 (WTF::RefPtr::hashTableDeletedValue): 21853 (WTF::::RefPtr): 21854 (WTF::::clear): 21855 (WTF::=): 21856 (WTF::::swap): 21857 (WTF::swap): 21858 (WTF::operator==): 21859 (WTF::operator!=): 21860 (WTF::static_pointer_cast): 21861 (WTF::const_pointer_cast): 21862 (WTF::getPtr): 21863 * wtf/RefPtrHashMap.h: Renamed from Source/JavaScriptCore/wtf/RefPtrHashMap.h. 21864 (WTF): 21865 (WTF::::swap): 21866 (WTF::::size): 21867 (WTF::::capacity): 21868 (WTF::::isEmpty): 21869 (WTF::::begin): 21870 (WTF::::end): 21871 (WTF::::find): 21872 (WTF::::contains): 21873 (WTF::::inlineAdd): 21874 (WTF::::set): 21875 (WTF::::add): 21876 (WTF::::get): 21877 (WTF::::inlineGet): 21878 (WTF::::remove): 21879 (WTF::::clear): 21880 (WTF::::take): 21881 * wtf/RetainPtr.h: Renamed from Source/JavaScriptCore/wtf/RetainPtr.h. 21882 (WTF): 21883 (WTF::adoptNSReference): 21884 (RetainPtr): 21885 (WTF::RetainPtr::RetainPtr): 21886 (WTF::RetainPtr::isHashTableDeletedValue): 21887 (WTF::RetainPtr::~RetainPtr): 21888 (WTF::RetainPtr::get): 21889 (WTF::RetainPtr::operator->): 21890 (WTF::RetainPtr::operator!): 21891 (WTF::RetainPtr::operator UnspecifiedBoolType): 21892 (WTF::RetainPtr::operator=): 21893 (WTF::RetainPtr::hashTableDeletedValue): 21894 (WTF::::RetainPtr): 21895 (WTF::::clear): 21896 (WTF::::leakRef): 21897 (WTF::=): 21898 (WTF::::adoptCF): 21899 (WTF::::adoptNS): 21900 (WTF::::swap): 21901 (WTF::swap): 21902 (WTF::operator==): 21903 (WTF::operator!=): 21904 (WTF::adoptCF): 21905 (WTF::adoptNS): 21906 (WTF::retainPtr): 21907 * wtf/SHA1.cpp: Renamed from Source/JavaScriptCore/wtf/SHA1.cpp. 21908 (WTF): 21909 (WTF::testSHA1): 21910 (WTF::expectSHA1): 21911 (WTF::f): 21912 (WTF::k): 21913 (WTF::rotateLeft): 21914 (WTF::SHA1::SHA1): 21915 (WTF::SHA1::addBytes): 21916 (WTF::SHA1::computeHash): 21917 (WTF::SHA1::finalize): 21918 (WTF::SHA1::processBlock): 21919 (WTF::SHA1::reset): 21920 * wtf/SHA1.h: Renamed from Source/JavaScriptCore/wtf/SHA1.h. 21921 (WTF): 21922 (SHA1): 21923 (WTF::SHA1::addBytes): 21924 * wtf/SegmentedVector.h: Renamed from Source/JavaScriptCore/wtf/SegmentedVector.h. 21925 (WTF): 21926 (SegmentedVectorIterator): 21927 (WTF::SegmentedVectorIterator::~SegmentedVectorIterator): 21928 (WTF::SegmentedVectorIterator::operator*): 21929 (WTF::SegmentedVectorIterator::operator->): 21930 (WTF::SegmentedVectorIterator::operator++): 21931 (WTF::SegmentedVectorIterator::operator==): 21932 (WTF::SegmentedVectorIterator::operator!=): 21933 (WTF::SegmentedVectorIterator::operator=): 21934 (WTF::SegmentedVectorIterator::SegmentedVectorIterator): 21935 (SegmentedVector): 21936 (WTF::SegmentedVector::SegmentedVector): 21937 (WTF::SegmentedVector::~SegmentedVector): 21938 (WTF::SegmentedVector::size): 21939 (WTF::SegmentedVector::isEmpty): 21940 (WTF::SegmentedVector::at): 21941 (WTF::SegmentedVector::operator[]): 21942 (WTF::SegmentedVector::last): 21943 (WTF::SegmentedVector::append): 21944 (WTF::SegmentedVector::alloc): 21945 (WTF::SegmentedVector::removeLast): 21946 (WTF::SegmentedVector::grow): 21947 (WTF::SegmentedVector::clear): 21948 (WTF::SegmentedVector::begin): 21949 (WTF::SegmentedVector::end): 21950 (WTF::SegmentedVector::deleteAllSegments): 21951 (WTF::SegmentedVector::segmentExistsFor): 21952 (WTF::SegmentedVector::segmentFor): 21953 (WTF::SegmentedVector::subscriptFor): 21954 (WTF::SegmentedVector::ensureSegmentsFor): 21955 (WTF::SegmentedVector::ensureSegment): 21956 * wtf/SentinelLinkedList.h: Renamed from Source/JavaScriptCore/wtf/SentinelLinkedList.h. 21957 (WTF): 21958 (BasicRawSentinelNode): 21959 (WTF::BasicRawSentinelNode::BasicRawSentinelNode): 21960 (WTF::BasicRawSentinelNode::setPrev): 21961 (WTF::BasicRawSentinelNode::setNext): 21962 (WTF::BasicRawSentinelNode::prev): 21963 (WTF::BasicRawSentinelNode::next): 21964 (WTF::BasicRawSentinelNode::isOnList): 21965 (SentinelLinkedList): 21966 (WTF::SentinelLinkedList::isEmpty): 21967 (WTF::::remove): 21968 (WTF::::SentinelLinkedList): 21969 (WTF::::begin): 21970 (WTF::::end): 21971 (WTF::::push): 21972 * wtf/SimpleStats.h: Renamed from Source/JavaScriptCore/wtf/SimpleStats.h. 21973 (WTF): 21974 (SimpleStats): 21975 (WTF::SimpleStats::SimpleStats): 21976 (WTF::SimpleStats::add): 21977 (WTF::SimpleStats::operator!): 21978 (WTF::SimpleStats::count): 21979 (WTF::SimpleStats::sum): 21980 (WTF::SimpleStats::sumOfSquares): 21981 (WTF::SimpleStats::mean): 21982 (WTF::SimpleStats::variance): 21983 (WTF::SimpleStats::standardDeviation): 21984 * wtf/SinglyLinkedList.h: Renamed from Source/JavaScriptCore/wtf/SinglyLinkedList.h. 21985 (WTF): 21986 (SinglyLinkedList): 21987 (WTF::::SinglyLinkedList): 21988 (WTF::::isEmpty): 21989 (WTF::::push): 21990 (WTF::::pop): 21991 * wtf/SizeLimits.cpp: Renamed from Source/JavaScriptCore/wtf/SizeLimits.cpp. 21992 (WTF): 21993 (SameSizeAsRefCounted): 21994 * wtf/Spectrum.h: Renamed from Source/JavaScriptCore/wtf/Spectrum.h. 21995 (WTF): 21996 (Spectrum): 21997 (WTF::Spectrum::Spectrum): 21998 (WTF::Spectrum::add): 21999 (WTF::Spectrum::get): 22000 (WTF::Spectrum::begin): 22001 (WTF::Spectrum::end): 22002 (WTF::Spectrum::KeyAndCount::KeyAndCount): 22003 (KeyAndCount): 22004 (WTF::Spectrum::KeyAndCount::operator<): 22005 (WTF::Spectrum::buildList): 22006 * wtf/StackBounds.cpp: Renamed from Source/JavaScriptCore/wtf/StackBounds.cpp. 22007 (WTF): 22008 (WTF::estimateStackBound): 22009 (WTF::StackBounds::initialize): 22010 (WTF::detectGrowingDownward): 22011 (WTF::isPageWritable): 22012 (WTF::getLowerStackBound): 22013 (WTF::getUpperStackBound): 22014 * wtf/StackBounds.h: Renamed from Source/JavaScriptCore/wtf/StackBounds.h. 22015 (WTF): 22016 (StackBounds): 22017 (WTF::StackBounds::StackBounds): 22018 (WTF::StackBounds::currentThreadStackBounds): 22019 (WTF::StackBounds::origin): 22020 (WTF::StackBounds::current): 22021 (WTF::StackBounds::recursionLimit): 22022 (WTF::StackBounds::recursionCheck): 22023 (WTF::StackBounds::isGrowingDownward): 22024 (WTF::StackBounds::checkConsistency): 22025 * wtf/StaticConstructors.h: Renamed from Source/JavaScriptCore/wtf/StaticConstructors.h. 22026 * wtf/StdLibExtras.h: Renamed from Source/JavaScriptCore/wtf/StdLibExtras.h. 22027 (isPointerTypeAlignmentOkay): 22028 (reinterpret_cast_ptr): 22029 (WTF): 22030 (WTF::isPointerAligned): 22031 (WTF::is8ByteAligned): 22032 (WTF::bitwise_cast): 22033 (WTF::safeCast): 22034 (WTF::bitCount): 22035 (WTF::roundUpToMultipleOf): 22036 (WTF::binarySearch): 22037 (WTF::binarySearchWithFunctor): 22038 (WTF::genericBinarySearch): 22039 (operator new): 22040 * wtf/StringExtras.cpp: Renamed from Source/JavaScriptCore/wtf/StringExtras.cpp. 22041 (strcasecmp): 22042 (strncasecmp): 22043 * wtf/StringExtras.h: Renamed from Source/JavaScriptCore/wtf/StringExtras.h. 22044 (snprintf): 22045 (wtf_vsnprintf): 22046 (strnicmp): 22047 (stricmp): 22048 (strdup): 22049 (strncasecmp): 22050 (strcasecmp): 22051 (strnstr): 22052 * wtf/StringHasher.h: Renamed from Source/JavaScriptCore/wtf/StringHasher.h. 22053 (WTF): 22054 (StringHasher): 22055 (WTF::StringHasher::StringHasher): 22056 (WTF::StringHasher::addCharacters): 22057 (WTF::StringHasher::addCharacter): 22058 (WTF::StringHasher::hash): 22059 (WTF::StringHasher::computeHash): 22060 (WTF::StringHasher::hashMemory): 22061 (WTF::StringHasher::defaultConverter): 22062 (WTF::StringHasher::addCharactersToHash): 22063 * wtf/TCPackedCache.h: Renamed from Source/JavaScriptCore/wtf/TCPackedCache.h. 22064 (PackedCache): 22065 (PackedCache::PackedCache): 22066 (PackedCache::Put): 22067 (PackedCache::Has): 22068 (PackedCache::GetOrDefault): 22069 (PackedCache::Clear): 22070 (PackedCache::EntryToValue): 22071 (PackedCache::EntryToUpper): 22072 (PackedCache::KeyToUpper): 22073 (PackedCache::UpperToPartialKey): 22074 (PackedCache::Hash): 22075 (PackedCache::KeyMatch): 22076 * wtf/TCPageMap.h: Renamed from Source/JavaScriptCore/wtf/TCPageMap.h. 22077 (TCMalloc_PageMap1): 22078 (TCMalloc_PageMap1::init): 22079 (TCMalloc_PageMap1::Ensure): 22080 (TCMalloc_PageMap1::PreallocateMoreMemory): 22081 (TCMalloc_PageMap1::get): 22082 (TCMalloc_PageMap1::set): 22083 (TCMalloc_PageMap2): 22084 (Leaf): 22085 (TCMalloc_PageMap2::init): 22086 (TCMalloc_PageMap2::get): 22087 (TCMalloc_PageMap2::set): 22088 (TCMalloc_PageMap2::Ensure): 22089 (TCMalloc_PageMap2::PreallocateMoreMemory): 22090 (TCMalloc_PageMap2::visitValues): 22091 (TCMalloc_PageMap2::visitAllocations): 22092 (TCMalloc_PageMap3): 22093 (Node): 22094 (TCMalloc_PageMap3::NewNode): 22095 (TCMalloc_PageMap3::init): 22096 (TCMalloc_PageMap3::get): 22097 (TCMalloc_PageMap3::set): 22098 (TCMalloc_PageMap3::Ensure): 22099 (TCMalloc_PageMap3::PreallocateMoreMemory): 22100 (TCMalloc_PageMap3::visitValues): 22101 (TCMalloc_PageMap3::visitAllocations): 22102 * wtf/TCSpinLock.h: Renamed from Source/JavaScriptCore/wtf/TCSpinLock.h. 22103 (TCMalloc_SpinLock): 22104 (TCMalloc_SpinLock::Lock): 22105 (TCMalloc_SpinLock::Unlock): 22106 (TCMalloc_SpinLock::IsHeld): 22107 (TCMalloc_SpinLock::Init): 22108 (TCMalloc_SpinLock::Finalize): 22109 (TCMalloc_SlowLock): 22110 (TCMalloc_SpinLockHolder): 22111 (TCMalloc_SpinLockHolder::TCMalloc_SpinLockHolder): 22112 (TCMalloc_SpinLockHolder::~TCMalloc_SpinLockHolder): 22113 * wtf/TCSystemAlloc.cpp: Renamed from Source/JavaScriptCore/wtf/TCSystemAlloc.cpp. 22114 (TrySbrk): 22115 (TryMmap): 22116 (TryVirtualAlloc): 22117 (TryDevMem): 22118 (TCMalloc_SystemAlloc): 22119 (TCMalloc_SystemRelease): 22120 (TCMalloc_SystemCommit): 22121 * wtf/TCSystemAlloc.h: Renamed from Source/JavaScriptCore/wtf/TCSystemAlloc.h. 22122 (TCMalloc_SystemRelease): 22123 (TCMalloc_SystemCommit): 22124 * wtf/TemporaryChange.h: Renamed from Source/JavaScriptCore/wtf/TemporaryChange.h. 22125 (WTF): 22126 (TemporaryChange): 22127 (WTF::TemporaryChange::TemporaryChange): 22128 (WTF::TemporaryChange::~TemporaryChange): 22129 * wtf/ThreadFunctionInvocation.h: Renamed from Source/JavaScriptCore/wtf/ThreadFunctionInvocation.h. 22130 (WTF): 22131 (WTF::ThreadFunctionInvocation::ThreadFunctionInvocation): 22132 (ThreadFunctionInvocation): 22133 * wtf/ThreadIdentifierDataPthreads.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.cpp. 22134 (WTF): 22135 (WTF::ThreadIdentifierData::~ThreadIdentifierData): 22136 (WTF::ThreadIdentifierData::initializeOnce): 22137 (WTF::ThreadIdentifierData::identifier): 22138 (WTF::ThreadIdentifierData::initialize): 22139 (WTF::ThreadIdentifierData::destruct): 22140 * wtf/ThreadIdentifierDataPthreads.h: Renamed from Source/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.h. 22141 (WTF): 22142 (ThreadIdentifierData): 22143 (WTF::ThreadIdentifierData::ThreadIdentifierData): 22144 * wtf/ThreadRestrictionVerifier.h: Renamed from Source/JavaScriptCore/wtf/ThreadRestrictionVerifier.h. 22145 (WTF): 22146 (ThreadRestrictionVerifier): 22147 (WTF::ThreadRestrictionVerifier::ThreadRestrictionVerifier): 22148 (WTF::ThreadRestrictionVerifier::~ThreadRestrictionVerifier): 22149 (WTF::ThreadRestrictionVerifier::setMutexMode): 22150 (WTF::ThreadRestrictionVerifier::setDispatchQueueMode): 22151 (WTF::ThreadRestrictionVerifier::turnOffVerification): 22152 (WTF::ThreadRestrictionVerifier::setShared): 22153 (WTF::ThreadRestrictionVerifier::isSafeToUse): 22154 * wtf/ThreadSafeRefCounted.h: Renamed from Source/JavaScriptCore/wtf/ThreadSafeRefCounted.h. 22155 (WTF): 22156 (ThreadSafeRefCountedBase): 22157 (WTF::ThreadSafeRefCountedBase::ThreadSafeRefCountedBase): 22158 (WTF::ThreadSafeRefCountedBase::ref): 22159 (WTF::ThreadSafeRefCountedBase::hasOneRef): 22160 (WTF::ThreadSafeRefCountedBase::refCount): 22161 (WTF::ThreadSafeRefCountedBase::derefBase): 22162 (ThreadSafeRefCounted): 22163 (WTF::ThreadSafeRefCounted::deref): 22164 (WTF::ThreadSafeRefCounted::ThreadSafeRefCounted): 22165 * wtf/ThreadSpecific.h: Renamed from Source/JavaScriptCore/wtf/ThreadSpecific.h. 22166 (WTF): 22167 (ThreadSpecific): 22168 (Data): 22169 (WTF::ThreadSpecific::Data::Data): 22170 (WTF::::ThreadSpecific): 22171 (WTF::::get): 22172 (WTF::::set): 22173 (WTF::::~ThreadSpecific): 22174 (WTF::::destroy): 22175 (WTF::::isSet): 22176 (WTF::T): 22177 (WTF::::operator): 22178 * wtf/ThreadSpecificWin.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadSpecificWin.cpp. 22179 (WTF): 22180 (WTF::tlsKeyCount): 22181 (WTF::tlsKeys): 22182 (WTF::ThreadSpecificThreadExit): 22183 * wtf/Threading.cpp: Renamed from Source/JavaScriptCore/wtf/Threading.cpp. 22184 (WTF): 22185 (NewThreadContext): 22186 (WTF::NewThreadContext::NewThreadContext): 22187 (WTF::threadEntryPoint): 22188 (WTF::createThread): 22189 (WTF::ThreadFunctionWithReturnValueInvocation::ThreadFunctionWithReturnValueInvocation): 22190 (ThreadFunctionWithReturnValueInvocation): 22191 (WTF::compatEntryPoint): 22192 (WTF::waitForThreadCompletion): 22193 * wtf/Threading.h: Renamed from Source/JavaScriptCore/wtf/Threading.h. 22194 (WTF): 22195 * wtf/ThreadingNone.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadingNone.cpp. 22196 * wtf/ThreadingPrimitives.h: Renamed from Source/JavaScriptCore/wtf/ThreadingPrimitives.h. 22197 (WTF): 22198 (PlatformMutex): 22199 (PlatformCondition): 22200 (Mutex): 22201 (WTF::Mutex::impl): 22202 (ReadWriteLock): 22203 (ThreadCondition): 22204 * wtf/ThreadingPthreads.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadingPthreads.cpp. 22205 (WTF): 22206 (WTF::threadMapMutex): 22207 (WTF::initializeThreading): 22208 (WTF::lockAtomicallyInitializedStaticMutex): 22209 (WTF::unlockAtomicallyInitializedStaticMutex): 22210 (WTF::threadMap): 22211 (WTF::identifierByPthreadHandle): 22212 (WTF::establishIdentifierForPthreadHandle): 22213 (WTF::pthreadHandleForIdentifier): 22214 (WTF::clearPthreadHandleForIdentifier): 22215 (WTF::wtfThreadEntryPoint): 22216 (WTF::createThreadInternal): 22217 (WTF::initializeCurrentThreadInternal): 22218 (WTF::waitForThreadCompletion): 22219 (WTF::detachThread): 22220 (WTF::yield): 22221 (WTF::currentThread): 22222 (WTF::Mutex::Mutex): 22223 (WTF::Mutex::~Mutex): 22224 (WTF::Mutex::lock): 22225 (WTF::Mutex::tryLock): 22226 (WTF::Mutex::unlock): 22227 (WTF::ReadWriteLock::ReadWriteLock): 22228 (WTF::ReadWriteLock::~ReadWriteLock): 22229 (WTF::ReadWriteLock::readLock): 22230 (WTF::ReadWriteLock::tryReadLock): 22231 (WTF::ReadWriteLock::writeLock): 22232 (WTF::ReadWriteLock::tryWriteLock): 22233 (WTF::ReadWriteLock::unlock): 22234 (WTF::ThreadCondition::ThreadCondition): 22235 (WTF::ThreadCondition::~ThreadCondition): 22236 (WTF::ThreadCondition::wait): 22237 (WTF::ThreadCondition::timedWait): 22238 (WTF::ThreadCondition::signal): 22239 (WTF::ThreadCondition::broadcast): 22240 * wtf/ThreadingWin.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadingWin.cpp. 22241 (WTF): 22242 (tagTHREADNAME_INFO): 22243 (WTF::initializeCurrentThreadInternal): 22244 (WTF::lockAtomicallyInitializedStaticMutex): 22245 (WTF::unlockAtomicallyInitializedStaticMutex): 22246 (WTF::threadMapMutex): 22247 (WTF::initializeThreading): 22248 (WTF::threadMap): 22249 (WTF::storeThreadHandleByIdentifier): 22250 (WTF::threadHandleForIdentifier): 22251 (WTF::clearThreadHandleForIdentifier): 22252 (WTF::wtfThreadEntryPoint): 22253 (WTF::createThreadInternal): 22254 (WTF::waitForThreadCompletion): 22255 (WTF::detachThread): 22256 (WTF::yield): 22257 (WTF::currentThread): 22258 (WTF::Mutex::Mutex): 22259 (WTF::Mutex::~Mutex): 22260 (WTF::Mutex::lock): 22261 (WTF::Mutex::tryLock): 22262 (WTF::Mutex::unlock): 22263 (WTF::PlatformCondition::timedWait): 22264 (WTF::PlatformCondition::signal): 22265 (WTF::ThreadCondition::ThreadCondition): 22266 (WTF::ThreadCondition::~ThreadCondition): 22267 (WTF::ThreadCondition::wait): 22268 (WTF::ThreadCondition::timedWait): 22269 (WTF::ThreadCondition::signal): 22270 (WTF::ThreadCondition::broadcast): 22271 (WTF::absoluteTimeToWaitTimeoutInterval): 22272 * wtf/TypeTraits.cpp: Renamed from Source/JavaScriptCore/wtf/TypeTraits.cpp. 22273 (WTF): 22274 * wtf/TypeTraits.h: Renamed from Source/JavaScriptCore/wtf/TypeTraits.h. 22275 (WTF): 22276 (IsConvertibleToInteger): 22277 (IsArray): 22278 (IsSameType): 22279 (IsSubclass): 22280 (NoType): 22281 (IsSubclassOfTemplate): 22282 (RemoveTemplate): 22283 (RemoveConst): 22284 (RemoveVolatile): 22285 (RemoveConstVolatile): 22286 (RemovePointer): 22287 (RemoveReference): 22288 (RemoveExtent): 22289 (DecayArray): 22290 (IntegralConstant): 22291 * wtf/TypedArrayBase.h: Renamed from Source/JavaScriptCore/wtf/TypedArrayBase.h. 22292 (WTF): 22293 (TypedArrayBase): 22294 (WTF::TypedArrayBase::data): 22295 (WTF::TypedArrayBase::set): 22296 (WTF::TypedArrayBase::setRange): 22297 (WTF::TypedArrayBase::zeroRange): 22298 (WTF::TypedArrayBase::length): 22299 (WTF::TypedArrayBase::byteLength): 22300 (WTF::TypedArrayBase::TypedArrayBase): 22301 (WTF::TypedArrayBase::create): 22302 (WTF::TypedArrayBase::subarrayImpl): 22303 (WTF::TypedArrayBase::neuter): 22304 * wtf/Uint16Array.h: Renamed from Source/JavaScriptCore/wtf/Uint16Array.h. 22305 (WTF): 22306 (Uint16Array): 22307 (WTF::Uint16Array::set): 22308 (WTF::Uint16Array::isUnsignedShortArray): 22309 (WTF::Uint16Array::create): 22310 (WTF::Uint16Array::Uint16Array): 22311 (WTF::Uint16Array::subarray): 22312 * wtf/Uint32Array.h: Renamed from Source/JavaScriptCore/wtf/Uint32Array.h. 22313 (WTF): 22314 (Uint32Array): 22315 (WTF::Uint32Array::set): 22316 (WTF::Uint32Array::isUnsignedIntArray): 22317 (WTF::Uint32Array::create): 22318 (WTF::Uint32Array::Uint32Array): 22319 (WTF::Uint32Array::subarray): 22320 * wtf/Uint8Array.h: Renamed from Source/JavaScriptCore/wtf/Uint8Array.h. 22321 (WTF): 22322 (Uint8Array): 22323 (WTF::Uint8Array::set): 22324 (WTF::Uint8Array::isUnsignedByteArray): 22325 (WTF::Uint8Array::create): 22326 (WTF::Uint8Array::Uint8Array): 22327 (WTF::Uint8Array::subarray): 22328 * wtf/Uint8ClampedArray.h: Renamed from Source/JavaScriptCore/wtf/Uint8ClampedArray.h. 22329 (WTF): 22330 (Uint8ClampedArray): 22331 (WTF::Uint8ClampedArray::set): 22332 (WTF::Uint8ClampedArray::isUnsignedByteClampedArray): 22333 (WTF::Uint8ClampedArray::create): 22334 (WTF::Uint8ClampedArray::Uint8ClampedArray): 22335 (WTF::Uint8ClampedArray::subarray): 22336 * wtf/UnionFind.h: Renamed from Source/JavaScriptCore/wtf/UnionFind.h. 22337 (WTF): 22338 (UnionFind): 22339 (WTF::UnionFind::UnionFind): 22340 (WTF::UnionFind::find): 22341 (WTF::UnionFind::unify): 22342 * wtf/UnusedParam.h: Renamed from Source/JavaScriptCore/wtf/UnusedParam.h. 22343 (unusedParam): 22344 * wtf/VMTags.h: Renamed from Source/JavaScriptCore/wtf/VMTags.h. 22345 * wtf/ValueCheck.h: Renamed from Source/JavaScriptCore/wtf/ValueCheck.h. 22346 (WTF): 22347 (ValueCheck): 22348 (WTF::ValueCheck::checkConsistency): 22349 * wtf/Vector.h: Renamed from Source/JavaScriptCore/wtf/Vector.h. 22350 (WTF): 22351 (WTF::VectorTypeOperations::destruct): 22352 (VectorTypeOperations): 22353 (WTF::VectorTypeOperations::initialize): 22354 (WTF::VectorTypeOperations::move): 22355 (WTF::VectorTypeOperations::moveOverlapping): 22356 (WTF::VectorTypeOperations::uninitializedCopy): 22357 (WTF::VectorTypeOperations::uninitializedFill): 22358 (WTF::VectorTypeOperations::compare): 22359 (VectorBufferBase): 22360 (WTF::VectorBufferBase::allocateBuffer): 22361 (WTF::VectorBufferBase::tryAllocateBuffer): 22362 (WTF::VectorBufferBase::deallocateBuffer): 22363 (WTF::VectorBufferBase::buffer): 22364 (WTF::VectorBufferBase::bufferSlot): 22365 (WTF::VectorBufferBase::capacity): 22366 (WTF::VectorBufferBase::releaseBuffer): 22367 (WTF::VectorBufferBase::VectorBufferBase): 22368 (WTF::VectorBufferBase::~VectorBufferBase): 22369 (VectorBuffer): 22370 (WTF::VectorBuffer::VectorBuffer): 22371 (WTF::VectorBuffer::~VectorBuffer): 22372 (WTF::VectorBuffer::allocateBuffer): 22373 (WTF::VectorBuffer::tryAllocateBuffer): 22374 (WTF::VectorBuffer::deallocateBuffer): 22375 (WTF::VectorBuffer::swap): 22376 (WTF::VectorBuffer::restoreInlineBufferIfNeeded): 22377 (WTF::VectorBuffer::releaseBuffer): 22378 (WTF::VectorBuffer::inlineBuffer): 22379 (Vector): 22380 (WTF::Vector::Vector): 22381 (WTF::Vector::~Vector): 22382 (WTF::Vector::size): 22383 (WTF::Vector::capacity): 22384 (WTF::Vector::isEmpty): 22385 (WTF::Vector::at): 22386 (WTF::Vector::operator[]): 22387 (WTF::Vector::data): 22388 (WTF::Vector::dataSlot): 22389 (WTF::Vector::begin): 22390 (WTF::Vector::end): 22391 (WTF::Vector::rbegin): 22392 (WTF::Vector::rend): 22393 (WTF::Vector::reversed): 22394 (WTF::Vector::first): 22395 (WTF::Vector::last): 22396 (WTF::Vector::shrinkToFit): 22397 (WTF::Vector::clear): 22398 (WTF::Vector::removeLast): 22399 (WTF::Vector::fill): 22400 (WTF::Vector::swap): 22401 (VectorReverseProxy): 22402 (WTF::Vector::VectorReverseProxy::begin): 22403 (WTF::Vector::VectorReverseProxy::end): 22404 (WTF::operator<<): 22405 (WTF::operator>>): 22406 (WTF::::Vector): 22407 (WTF::=): 22408 (WTF::typelessPointersAreEqual): 22409 (WTF::::contains): 22410 (WTF::::find): 22411 (WTF::::reverseFind): 22412 (WTF::::fill): 22413 (WTF::::appendRange): 22414 (WTF::::expandCapacity): 22415 (WTF::::tryExpandCapacity): 22416 (WTF::::resize): 22417 (WTF::::shrink): 22418 (WTF::::grow): 22419 (WTF::::reserveCapacity): 22420 (WTF::::tryReserveCapacity): 22421 (WTF::::reserveInitialCapacity): 22422 (WTF::::shrinkCapacity): 22423 (WTF::::append): 22424 (WTF::::tryAppend): 22425 (WTF::::appendSlowCase): 22426 (WTF::::uncheckedAppend): 22427 (WTF::::insert): 22428 (WTF::::prepend): 22429 (WTF::::remove): 22430 (WTF::::reverse): 22431 (WTF::::releaseBuffer): 22432 (WTF::::checkConsistency): 22433 (WTF::deleteAllValues): 22434 (WTF::swap): 22435 (WTF::operator==): 22436 (WTF::operator!=): 22437 * wtf/VectorTraits.h: Renamed from Source/JavaScriptCore/wtf/VectorTraits.h. 22438 (WTF): 22439 (SimpleClassVectorTraits): 22440 * wtf/WTFThreadData.cpp: Renamed from Source/JavaScriptCore/wtf/WTFThreadData.cpp. 22441 (WTF): 22442 (WTF::WTFThreadData::WTFThreadData): 22443 (WTF::WTFThreadData::~WTFThreadData): 22444 (JSC): 22445 (JSC::IdentifierTable::~IdentifierTable): 22446 (JSC::IdentifierTable::add): 22447 * wtf/WTFThreadData.h: Renamed from Source/JavaScriptCore/wtf/WTFThreadData.h. 22448 (JSC): 22449 (IdentifierTable): 22450 (JSC::IdentifierTable::remove): 22451 (JSC::IdentifierTable::literalTable): 22452 (WTF): 22453 (WTFThreadData): 22454 (WTF::WTFThreadData::atomicStringTable): 22455 (WTF::WTFThreadData::currentIdentifierTable): 22456 (WTF::WTFThreadData::setCurrentIdentifierTable): 22457 (WTF::WTFThreadData::resetCurrentIdentifierTable): 22458 (WTF::WTFThreadData::stack): 22459 (WTF::wtfThreadData): 22460 * wtf/blackberry/MainThreadBlackBerry.cpp: Renamed from Source/JavaScriptCore/wtf/blackberry/MainThreadBlackBerry.cpp. 22461 (WTF): 22462 (WTF::initializeMainThreadPlatform): 22463 (WTF::scheduleDispatchFunctionsOnMainThread): 22464 * wtf/chromium/ChromiumThreading.h: Renamed from Source/JavaScriptCore/wtf/chromium/ChromiumThreading.h. 22465 (WTF): 22466 (ChromiumThreading): 22467 * wtf/chromium/MainThreadChromium.cpp: Renamed from Source/JavaScriptCore/wtf/chromium/MainThreadChromium.cpp. 22468 (WTF): 22469 (WTF::initializeMainThread): 22470 (WTF::callOnMainThread): 22471 (WTF::callOnMainThreadAndWait): 22472 (WTF::setMainThreadCallbacksPaused): 22473 (WTF::isMainThread): 22474 * wtf/dtoa.cpp: Renamed from Source/JavaScriptCore/wtf/dtoa.cpp. 22475 (WTF): 22476 (WTF::storeInc): 22477 (WTF::BigInt::BigInt): 22478 (BigInt): 22479 (WTF::BigInt::clear): 22480 (WTF::BigInt::size): 22481 (WTF::BigInt::resize): 22482 (WTF::BigInt::words): 22483 (WTF::BigInt::append): 22484 (WTF::multadd): 22485 (WTF::hi0bits): 22486 (WTF::lo0bits): 22487 (WTF::i2b): 22488 (WTF::mult): 22489 (P5Node): 22490 (WTF::P5Node::P5Node): 22491 (WTF::pow5mult): 22492 (WTF::lshift): 22493 (WTF::cmp): 22494 (WTF::diff): 22495 (WTF::d2b): 22496 (WTF::strtod): 22497 (WTF::quorem): 22498 (WTF::dtoa): 22499 * wtf/dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa.h. 22500 (WTF): 22501 * wtf/dtoa/COPYING: Renamed from Source/JavaScriptCore/wtf/dtoa/COPYING. 22502 * wtf/dtoa/LICENSE: Renamed from Source/JavaScriptCore/wtf/dtoa/LICENSE. 22503 * wtf/dtoa/README: Renamed from Source/JavaScriptCore/wtf/dtoa/README. 22504 * wtf/dtoa/bignum-dtoa.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum-dtoa.cc. 22505 * wtf/dtoa/bignum-dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum-dtoa.h. 22506 (WTF): 22507 (double_conversion): 22508 * wtf/dtoa/bignum.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum.cc. 22509 * wtf/dtoa/bignum.h: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum.h. 22510 (WTF): 22511 (double_conversion): 22512 (Bignum): 22513 (WTF::double_conversion::Bignum::Times10): 22514 (WTF::double_conversion::Bignum::Equal): 22515 (WTF::double_conversion::Bignum::LessEqual): 22516 (WTF::double_conversion::Bignum::Less): 22517 (WTF::double_conversion::Bignum::PlusEqual): 22518 (WTF::double_conversion::Bignum::PlusLessEqual): 22519 (WTF::double_conversion::Bignum::PlusLess): 22520 (WTF::double_conversion::Bignum::EnsureCapacity): 22521 (WTF::double_conversion::Bignum::BigitLength): 22522 * wtf/dtoa/cached-powers.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/cached-powers.cc. 22523 * wtf/dtoa/cached-powers.h: Renamed from Source/JavaScriptCore/wtf/dtoa/cached-powers.h. 22524 (WTF): 22525 (double_conversion): 22526 (PowersOfTenCache): 22527 * wtf/dtoa/diy-fp.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/diy-fp.cc. 22528 * wtf/dtoa/diy-fp.h: Renamed from Source/JavaScriptCore/wtf/dtoa/diy-fp.h. 22529 (WTF): 22530 (double_conversion): 22531 (DiyFp): 22532 (WTF::double_conversion::DiyFp::DiyFp): 22533 (WTF::double_conversion::DiyFp::Subtract): 22534 (WTF::double_conversion::DiyFp::Minus): 22535 (WTF::double_conversion::DiyFp::Times): 22536 (WTF::double_conversion::DiyFp::Normalize): 22537 (WTF::double_conversion::DiyFp::f): 22538 (WTF::double_conversion::DiyFp::e): 22539 (WTF::double_conversion::DiyFp::set_f): 22540 (WTF::double_conversion::DiyFp::set_e): 22541 * wtf/dtoa/double-conversion.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/double-conversion.cc. 22542 * wtf/dtoa/double-conversion.h: Renamed from Source/JavaScriptCore/wtf/dtoa/double-conversion.h. 22543 (WTF): 22544 (double_conversion): 22545 (DoubleToStringConverter): 22546 (WTF::double_conversion::DoubleToStringConverter::DoubleToStringConverter): 22547 (StringToDoubleConverter): 22548 (WTF::double_conversion::StringToDoubleConverter::StringToDoubleConverter): 22549 * wtf/dtoa/double.h: Renamed from Source/JavaScriptCore/wtf/dtoa/double.h. 22550 (WTF): 22551 (double_conversion): 22552 (WTF::double_conversion::double_to_uint64): 22553 (WTF::double_conversion::uint64_to_double): 22554 (Double): 22555 (WTF::double_conversion::Double::Double): 22556 (WTF::double_conversion::Double::AsDiyFp): 22557 (WTF::double_conversion::Double::AsNormalizedDiyFp): 22558 (WTF::double_conversion::Double::AsUint64): 22559 (WTF::double_conversion::Double::NextDouble): 22560 (WTF::double_conversion::Double::Exponent): 22561 (WTF::double_conversion::Double::Significand): 22562 (WTF::double_conversion::Double::IsDenormal): 22563 (WTF::double_conversion::Double::IsSpecial): 22564 (WTF::double_conversion::Double::IsNan): 22565 (WTF::double_conversion::Double::IsInfinite): 22566 (WTF::double_conversion::Double::Sign): 22567 (WTF::double_conversion::Double::UpperBoundary): 22568 (WTF::double_conversion::Double::NormalizedBoundaries): 22569 (WTF::double_conversion::Double::value): 22570 (WTF::double_conversion::Double::SignificandSizeForOrderOfMagnitude): 22571 (WTF::double_conversion::Double::Infinity): 22572 (WTF::double_conversion::Double::NaN): 22573 (WTF::double_conversion::Double::DiyFpToUint64): 22574 * wtf/dtoa/fast-dtoa.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/fast-dtoa.cc. 22575 * wtf/dtoa/fast-dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa/fast-dtoa.h. 22576 (WTF): 22577 (double_conversion): 22578 * wtf/dtoa/fixed-dtoa.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/fixed-dtoa.cc. 22579 * wtf/dtoa/fixed-dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa/fixed-dtoa.h. 22580 (WTF): 22581 (double_conversion): 22582 * wtf/dtoa/strtod.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/strtod.cc. 22583 * wtf/dtoa/strtod.h: Renamed from Source/JavaScriptCore/wtf/dtoa/strtod.h. 22584 (WTF): 22585 (double_conversion): 22586 * wtf/dtoa/utils.h: Renamed from Source/JavaScriptCore/wtf/dtoa/utils.h. 22587 (WTF): 22588 (double_conversion): 22589 (WTF::double_conversion::Max): 22590 (WTF::double_conversion::Min): 22591 (WTF::double_conversion::StrLength): 22592 (Vector): 22593 (WTF::double_conversion::Vector::Vector): 22594 (WTF::double_conversion::Vector::SubVector): 22595 (WTF::double_conversion::Vector::length): 22596 (WTF::double_conversion::Vector::is_empty): 22597 (WTF::double_conversion::Vector::start): 22598 (WTF::double_conversion::Vector::operator[]): 22599 (WTF::double_conversion::Vector::first): 22600 (WTF::double_conversion::Vector::last): 22601 (StringBuilder): 22602 (WTF::double_conversion::StringBuilder::StringBuilder): 22603 (WTF::double_conversion::StringBuilder::~StringBuilder): 22604 (WTF::double_conversion::StringBuilder::size): 22605 (WTF::double_conversion::StringBuilder::position): 22606 (WTF::double_conversion::StringBuilder::SetPosition): 22607 (WTF::double_conversion::StringBuilder::Reset): 22608 (WTF::double_conversion::StringBuilder::AddCharacter): 22609 (WTF::double_conversion::StringBuilder::AddString): 22610 (WTF::double_conversion::StringBuilder::AddSubstring): 22611 (WTF::double_conversion::StringBuilder::AddPadding): 22612 (WTF::double_conversion::StringBuilder::Finalize): 22613 (WTF::double_conversion::StringBuilder::is_finalized): 22614 (WTF::double_conversion::BitCast): 22615 * wtf/efl/MainThreadEfl.cpp: Renamed from Source/JavaScriptCore/wtf/efl/MainThreadEfl.cpp. 22616 (WTF): 22617 (WTF::pipeObject): 22618 (WTF::monitorDispatchFunctions): 22619 (WTF::initializeMainThreadPlatform): 22620 (WTF::scheduleDispatchFunctionsOnMainThread): 22621 * wtf/efl/OwnPtrEfl.cpp: Renamed from Source/JavaScriptCore/wtf/efl/OwnPtrEfl.cpp. 22622 (WTF): 22623 (WTF::deleteOwnedPtr): 22624 * wtf/gobject/GOwnPtr.cpp: Renamed from Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp. 22625 (WTF): 22626 (WTF::GError): 22627 (WTF::GList): 22628 (WTF::GSList): 22629 (WTF::GPatternSpec): 22630 (WTF::GDir): 22631 (WTF::GTimer): 22632 (WTF::GKeyFile): 22633 * wtf/gobject/GOwnPtr.h: Renamed from Source/JavaScriptCore/wtf/gobject/GOwnPtr.h. 22634 (WTF): 22635 (GOwnPtr): 22636 (WTF::GOwnPtr::GOwnPtr): 22637 (WTF::GOwnPtr::~GOwnPtr): 22638 (WTF::GOwnPtr::get): 22639 (WTF::GOwnPtr::release): 22640 (WTF::GOwnPtr::outPtr): 22641 (WTF::GOwnPtr::set): 22642 (WTF::GOwnPtr::clear): 22643 (WTF::GOwnPtr::operator*): 22644 (WTF::GOwnPtr::operator->): 22645 (WTF::GOwnPtr::operator!): 22646 (WTF::GOwnPtr::operator UnspecifiedBoolType): 22647 (WTF::GOwnPtr::swap): 22648 (WTF::swap): 22649 (WTF::operator==): 22650 (WTF::operator!=): 22651 (WTF::getPtr): 22652 (WTF::freeOwnedGPtr): 22653 * wtf/gobject/GRefPtr.cpp: Renamed from Source/JavaScriptCore/wtf/gobject/GRefPtr.cpp. 22654 (WTF): 22655 (WTF::refGPtr): 22656 (WTF::derefGPtr): 22657 (_GVariant): 22658 * wtf/gobject/GRefPtr.h: Renamed from Source/JavaScriptCore/wtf/gobject/GRefPtr.h. 22659 (WTF): 22660 (GRefPtr): 22661 (WTF::GRefPtr::GRefPtr): 22662 (WTF::GRefPtr::~GRefPtr): 22663 (WTF::GRefPtr::clear): 22664 (WTF::GRefPtr::isHashTableDeletedValue): 22665 (WTF::GRefPtr::get): 22666 (WTF::GRefPtr::operator*): 22667 (WTF::GRefPtr::operator->): 22668 (WTF::GRefPtr::operator!): 22669 (WTF::GRefPtr::operator UnspecifiedBoolType): 22670 (WTF::GRefPtr::hashTableDeletedValue): 22671 (WTF::=): 22672 (WTF::::swap): 22673 (WTF::swap): 22674 (WTF::operator==): 22675 (WTF::operator!=): 22676 (WTF::static_pointer_cast): 22677 (WTF::const_pointer_cast): 22678 (WTF::getPtr): 22679 (WTF::adoptGRef): 22680 (WTF::refGPtr): 22681 (WTF::derefGPtr): 22682 * wtf/gobject/GTypedefs.h: Renamed from Source/JavaScriptCore/wtf/gobject/GTypedefs.h. 22683 * wtf/gobject/GlibUtilities.cpp: Renamed from Source/JavaScriptCore/wtf/gobject/GlibUtilities.cpp. 22684 (getCurrentExecutablePath): 22685 * wtf/gobject/GlibUtilities.h: Renamed from Source/JavaScriptCore/wtf/gobject/GlibUtilities.h. 22686 * wtf/gtk/MainThreadGtk.cpp: Renamed from Source/JavaScriptCore/wtf/gtk/MainThreadGtk.cpp. 22687 (WTF): 22688 (WTF::initializeMainThreadPlatform): 22689 (WTF::timeoutFired): 22690 (WTF::scheduleDispatchFunctionsOnMainThread): 22691 * wtf/mac/MainThreadMac.mm: Renamed from Source/JavaScriptCore/wtf/mac/MainThreadMac.mm. 22692 (-[JSWTFMainThreadCaller call]): 22693 (WTF): 22694 (WTF::initializeMainThreadPlatform): 22695 (WTF::initializeMainThreadToProcessMainThreadPlatform): 22696 (WTF::timerFired): 22697 (WTF::postTimer): 22698 (WTF::scheduleDispatchFunctionsOnMainThread): 22699 (WTF::isMainThread): 22700 * wtf/qt/MainThreadQt.cpp: Renamed from Source/JavaScriptCore/wtf/qt/MainThreadQt.cpp. 22701 (WTF): 22702 (MainThreadInvoker): 22703 (WTF::MainThreadInvoker::MainThreadInvoker): 22704 (WTF::MainThreadInvoker::event): 22705 (WTF::initializeMainThreadPlatform): 22706 (WTF::scheduleDispatchFunctionsOnMainThread): 22707 * wtf/qt/StringQt.cpp: Renamed from Source/JavaScriptCore/wtf/qt/StringQt.cpp. 22708 (WTF): 22709 (WTF::String::String): 22710 (WTF::String::operator QString): 22711 (WTF::operator<<): 22712 (WTF::operator>>): 22713 * wtf/qt/UtilsQt.h: Renamed from Source/JavaScriptCore/wtf/qt/UtilsQt.h. 22714 (escapeHtml): 22715 * wtf/qt/compat/QGuiApplication: Renamed from Source/JavaScriptCore/wtf/qt/compat/QGuiApplication. 22716 * wtf/qt/compat/qguiapplication.h: Renamed from Source/JavaScriptCore/wtf/qt/compat/qguiapplication.h. 22717 (QGuiApplication): 22718 (QGuiApplication::styleHints): 22719 * wtf/text/ASCIIFastPath.h: Renamed from Source/JavaScriptCore/wtf/text/ASCIIFastPath.h. 22720 (WTF): 22721 (WTF::isAlignedToMachineWord): 22722 (WTF::alignToMachineWord): 22723 (WTF::isAllASCII): 22724 (WTF::charactersAreAllASCII): 22725 * wtf/text/AtomicString.cpp: Renamed from Source/JavaScriptCore/wtf/text/AtomicString.cpp. 22726 (WTF): 22727 (AtomicStringTable): 22728 (WTF::AtomicStringTable::create): 22729 (WTF::AtomicStringTable::table): 22730 (WTF::AtomicStringTable::destroy): 22731 (WTF::stringTable): 22732 (WTF::addToStringTable): 22733 (WTF::CStringTranslator::hash): 22734 (CStringTranslator): 22735 (WTF::CStringTranslator::equal): 22736 (WTF::CStringTranslator::translate): 22737 (WTF::AtomicString::add): 22738 (UCharBuffer): 22739 (WTF::UCharBufferTranslator::hash): 22740 (UCharBufferTranslator): 22741 (WTF::UCharBufferTranslator::equal): 22742 (WTF::UCharBufferTranslator::translate): 22743 (HashAndCharacters): 22744 (WTF::HashAndCharactersTranslator::hash): 22745 (HashAndCharactersTranslator): 22746 (WTF::HashAndCharactersTranslator::equal): 22747 (WTF::HashAndCharactersTranslator::translate): 22748 (HashAndUTF8Characters): 22749 (WTF::HashAndUTF8CharactersTranslator::hash): 22750 (HashAndUTF8CharactersTranslator): 22751 (WTF::HashAndUTF8CharactersTranslator::equal): 22752 (WTF::HashAndUTF8CharactersTranslator::translate): 22753 (SubstringLocation): 22754 (WTF::SubstringTranslator::hash): 22755 (SubstringTranslator): 22756 (WTF::SubstringTranslator::equal): 22757 (WTF::SubstringTranslator::translate): 22758 (WTF::AtomicString::addSlowCase): 22759 (WTF::AtomicString::find): 22760 (WTF::AtomicString::remove): 22761 (WTF::AtomicString::lower): 22762 (WTF::AtomicString::fromUTF8Internal): 22763 (WTF::AtomicString::show): 22764 * wtf/text/AtomicString.h: Renamed from Source/JavaScriptCore/wtf/text/AtomicString.h. 22765 (WTF): 22766 (AtomicString): 22767 (WTF::AtomicString::AtomicString): 22768 (WTF::AtomicString::isHashTableDeletedValue): 22769 (WTF::AtomicString::operator const String&): 22770 (WTF::AtomicString::string): 22771 (WTF::AtomicString::impl): 22772 (WTF::AtomicString::characters): 22773 (WTF::AtomicString::length): 22774 (WTF::AtomicString::operator[]): 22775 (WTF::AtomicString::contains): 22776 (WTF::AtomicString::find): 22777 (WTF::AtomicString::startsWith): 22778 (WTF::AtomicString::endsWith): 22779 (WTF::AtomicString::upper): 22780 (WTF::AtomicString::toInt): 22781 (WTF::AtomicString::toDouble): 22782 (WTF::AtomicString::toFloat): 22783 (WTF::AtomicString::percentage): 22784 (WTF::AtomicString::isNull): 22785 (WTF::AtomicString::isEmpty): 22786 (WTF::AtomicString::createCFString): 22787 (WTF::AtomicString::operator NSString*): 22788 (WTF::AtomicString::operator QString): 22789 (WTF::AtomicString::add): 22790 (WTF::operator==): 22791 (WTF::operator!=): 22792 (WTF::equalIgnoringCase): 22793 (WTF::AtomicString::fromUTF8): 22794 * wtf/text/AtomicStringHash.h: Renamed from Source/JavaScriptCore/wtf/text/AtomicStringHash.h. 22795 (WTF): 22796 (WTF::AtomicStringHash::hash): 22797 (AtomicStringHash): 22798 (WTF::AtomicStringHash::equal): 22799 * wtf/text/AtomicStringImpl.h: Renamed from Source/JavaScriptCore/wtf/text/AtomicStringImpl.h. 22800 (WTF): 22801 (AtomicStringImpl): 22802 (WTF::AtomicStringImpl::AtomicStringImpl): 22803 * wtf/text/CString.cpp: Renamed from Source/JavaScriptCore/wtf/text/CString.cpp. 22804 (WTF): 22805 (WTF::CString::CString): 22806 (WTF::CString::init): 22807 (WTF::CString::mutableData): 22808 (WTF::CString::newUninitialized): 22809 (WTF::CString::copyBufferIfNeeded): 22810 (WTF::operator==): 22811 * wtf/text/CString.h: Renamed from Source/JavaScriptCore/wtf/text/CString.h. 22812 (WTF): 22813 (CStringBuffer): 22814 (WTF::CStringBuffer::data): 22815 (WTF::CStringBuffer::length): 22816 (WTF::CStringBuffer::create): 22817 (WTF::CStringBuffer::CStringBuffer): 22818 (WTF::CStringBuffer::mutableData): 22819 (CString): 22820 (WTF::CString::CString): 22821 (WTF::CString::data): 22822 (WTF::CString::length): 22823 (WTF::CString::isNull): 22824 (WTF::CString::buffer): 22825 (WTF::operator!=): 22826 * wtf/text/StringBuffer.h: Renamed from Source/JavaScriptCore/wtf/text/StringBuffer.h. 22827 (WTF): 22828 (StringBuffer): 22829 (WTF::StringBuffer::StringBuffer): 22830 (WTF::StringBuffer::~StringBuffer): 22831 (WTF::StringBuffer::shrink): 22832 (WTF::StringBuffer::resize): 22833 (WTF::StringBuffer::length): 22834 (WTF::StringBuffer::characters): 22835 (WTF::StringBuffer::operator[]): 22836 (WTF::StringBuffer::release): 22837 * wtf/text/StringBuilder.cpp: Renamed from Source/JavaScriptCore/wtf/text/StringBuilder.cpp. 22838 (WTF): 22839 (WTF::StringBuilder::reifyString): 22840 (WTF::StringBuilder::resize): 22841 (WTF::StringBuilder::allocateBuffer): 22842 (WTF::StringBuilder::allocateBufferUpConvert): 22843 (WTF::LChar): 22844 (WTF::UChar): 22845 (WTF::StringBuilder::reserveCapacity): 22846 (WTF::StringBuilder::appendUninitialized): 22847 (WTF::StringBuilder::appendUninitializedSlow): 22848 (WTF::StringBuilder::append): 22849 (WTF::StringBuilder::canShrink): 22850 (WTF::StringBuilder::shrinkToFit): 22851 * wtf/text/StringBuilder.h: Renamed from Source/JavaScriptCore/wtf/text/StringBuilder.h. 22852 (WTF): 22853 (StringBuilder): 22854 (WTF::StringBuilder::StringBuilder): 22855 (WTF::StringBuilder::append): 22856 (WTF::StringBuilder::toString): 22857 (WTF::StringBuilder::toStringPreserveCapacity): 22858 (WTF::StringBuilder::toAtomicString): 22859 (WTF::StringBuilder::length): 22860 (WTF::StringBuilder::isEmpty): 22861 (WTF::StringBuilder::capacity): 22862 (WTF::StringBuilder::operator[]): 22863 (WTF::StringBuilder::characters8): 22864 (WTF::StringBuilder::characters16): 22865 (WTF::StringBuilder::characters): 22866 (WTF::StringBuilder::is8Bit): 22867 (WTF::StringBuilder::clear): 22868 (WTF::StringBuilder::swap): 22869 (WTF::LChar): 22870 (WTF::UChar): 22871 (WTF::equal): 22872 (WTF::operator==): 22873 (WTF::operator!=): 22874 * wtf/text/StringConcatenate.h: Renamed from Source/JavaScriptCore/wtf/text/StringConcatenate.h. 22875 (WTF): 22876 (WTF::sumWithOverflow): 22877 (WTF::tryMakeString): 22878 (WTF::makeString): 22879 * wtf/text/StringHash.h: Renamed from Source/JavaScriptCore/wtf/text/StringHash.h. 22880 (WTF): 22881 (WTF::StringHash::hash): 22882 (WTF::StringHash::equal): 22883 (StringHash): 22884 (CaseFoldingHash): 22885 (WTF::CaseFoldingHash::foldCase): 22886 (WTF::CaseFoldingHash::hash): 22887 (WTF::CaseFoldingHash::equal): 22888 (WTF::AlreadyHashed::hash): 22889 (AlreadyHashed): 22890 (WTF::AlreadyHashed::avoidDeletedValue): 22891 * wtf/text/StringImpl.cpp: Renamed from Source/JavaScriptCore/wtf/text/StringImpl.cpp. 22892 (WTF): 22893 (WTF::StringImpl::~StringImpl): 22894 (WTF::StringImpl::createUninitialized): 22895 (WTF::StringImpl::reallocate): 22896 (WTF::StringImpl::create): 22897 (WTF::StringImpl::getData16SlowCase): 22898 (WTF::StringImpl::upconvertCharacters): 22899 (WTF::StringImpl::containsOnlyWhitespace): 22900 (WTF::StringImpl::substring): 22901 (WTF::StringImpl::characterStartingAt): 22902 (WTF::StringImpl::lower): 22903 (WTF::StringImpl::upper): 22904 (WTF::StringImpl::fill): 22905 (WTF::StringImpl::foldCase): 22906 (WTF::StringImpl::stripMatchedCharacters): 22907 (UCharPredicate): 22908 (WTF::UCharPredicate::UCharPredicate): 22909 (WTF::UCharPredicate::operator()): 22910 (SpaceOrNewlinePredicate): 22911 (WTF::SpaceOrNewlinePredicate::operator()): 22912 (WTF::StringImpl::stripWhiteSpace): 22913 (WTF::StringImpl::removeCharacters): 22914 (WTF::StringImpl::simplifyMatchedCharactersToSpace): 22915 (WTF::StringImpl::simplifyWhiteSpace): 22916 (WTF::StringImpl::toIntStrict): 22917 (WTF::StringImpl::toUIntStrict): 22918 (WTF::StringImpl::toInt64Strict): 22919 (WTF::StringImpl::toUInt64Strict): 22920 (WTF::StringImpl::toIntPtrStrict): 22921 (WTF::StringImpl::toInt): 22922 (WTF::StringImpl::toUInt): 22923 (WTF::StringImpl::toInt64): 22924 (WTF::StringImpl::toUInt64): 22925 (WTF::StringImpl::toIntPtr): 22926 (WTF::StringImpl::toDouble): 22927 (WTF::StringImpl::toFloat): 22928 (WTF::equalIgnoringCase): 22929 (WTF::StringImpl::find): 22930 (WTF::StringImpl::findIgnoringCase): 22931 (WTF::findInner): 22932 (WTF::StringImpl::reverseFind): 22933 (WTF::reverseFindInner): 22934 (WTF::StringImpl::reverseFindIgnoringCase): 22935 (WTF::StringImpl::endsWith): 22936 (WTF::StringImpl::replace): 22937 (WTF::equal): 22938 (WTF::equalIgnoringNullity): 22939 (WTF::StringImpl::defaultWritingDirection): 22940 (WTF::StringImpl::adopt): 22941 (WTF::StringImpl::createWithTerminatingNullCharacter): 22942 * wtf/text/StringImpl.h: Renamed from Source/JavaScriptCore/wtf/text/StringImpl.h. 22943 (JSC): 22944 (WTF): 22945 (StringImpl): 22946 (WTF::StringImpl::StringImpl): 22947 (WTF::StringImpl::create): 22948 (WTF::StringImpl::create8): 22949 (WTF::StringImpl::tryCreateUninitialized): 22950 (WTF::StringImpl::flagsOffset): 22951 (WTF::StringImpl::flagIs8Bit): 22952 (WTF::StringImpl::dataOffset): 22953 (WTF::StringImpl::adopt): 22954 (WTF::StringImpl::length): 22955 (WTF::StringImpl::is8Bit): 22956 (WTF::StringImpl::characters8): 22957 (WTF::StringImpl::characters16): 22958 (WTF::StringImpl::characters): 22959 (WTF::StringImpl::cost): 22960 (WTF::StringImpl::has16BitShadow): 22961 (WTF::StringImpl::isIdentifier): 22962 (WTF::StringImpl::setIsIdentifier): 22963 (WTF::StringImpl::hasTerminatingNullCharacter): 22964 (WTF::StringImpl::isAtomic): 22965 (WTF::StringImpl::setIsAtomic): 22966 (WTF::StringImpl::setHash): 22967 (WTF::StringImpl::rawHash): 22968 (WTF::StringImpl::hasHash): 22969 (WTF::StringImpl::existingHash): 22970 (WTF::StringImpl::hash): 22971 (WTF::StringImpl::hasOneRef): 22972 (WTF::StringImpl::ref): 22973 (WTF::StringImpl::deref): 22974 (WTF::StringImpl::copyChars): 22975 (WTF::StringImpl::operator[]): 22976 (WTF::StringImpl::find): 22977 (WTF::StringImpl::findIgnoringCase): 22978 (WTF::StringImpl::startsWith): 22979 (WTF::StringImpl::bufferOwnership): 22980 (WTF::StringImpl::isStatic): 22981 (WTF::LChar): 22982 (WTF::UChar): 22983 (WTF::equal): 22984 (WTF::equalIgnoringCase): 22985 (WTF::equalIgnoringNullity): 22986 (WTF::codePointCompare): 22987 (WTF::codePointCompare8): 22988 (WTF::codePointCompare16): 22989 (WTF::codePointCompare8To16): 22990 (WTF::isSpaceOrNewline): 22991 (WTF::StringImpl::isolatedCopy): 22992 * wtf/text/StringOperators.h: Renamed from Source/JavaScriptCore/wtf/text/StringOperators.h. 22993 (WTF): 22994 (StringAppend): 22995 (WTF::StringAppend::StringAppend): 22996 (WTF::StringAppend::operator String): 22997 (WTF::StringAppend::operator AtomicString): 22998 (WTF::StringAppend::is8Bit): 22999 (WTF::StringAppend::writeTo): 23000 (WTF::StringAppend::length): 23001 (WTF::operator+): 23002 * wtf/text/StringStatics.cpp: Renamed from Source/JavaScriptCore/wtf/text/StringStatics.cpp. 23003 (WTF): 23004 (WTF::StringImpl::empty): 23005 (WTF::StringImpl::hashSlowCase): 23006 (WTF::AtomicString::init): 23007 * wtf/text/TextPosition.h: Renamed from Source/JavaScriptCore/wtf/text/TextPosition.h. 23008 (WTF): 23009 (OrdinalNumber): 23010 (WTF::OrdinalNumber::fromZeroBasedInt): 23011 (WTF::OrdinalNumber::fromOneBasedInt): 23012 (WTF::OrdinalNumber::OrdinalNumber): 23013 (WTF::OrdinalNumber::zeroBasedInt): 23014 (WTF::OrdinalNumber::oneBasedInt): 23015 (WTF::OrdinalNumber::operator==): 23016 (WTF::OrdinalNumber::operator!=): 23017 (WTF::OrdinalNumber::first): 23018 (WTF::OrdinalNumber::beforeFirst): 23019 (TextPosition): 23020 (WTF::TextPosition::TextPosition): 23021 (WTF::TextPosition::operator==): 23022 (WTF::TextPosition::operator!=): 23023 (WTF::TextPosition::minimumPosition): 23024 (WTF::TextPosition::belowRangePosition): 23025 * wtf/text/WTFString.cpp: Renamed from Source/JavaScriptCore/wtf/text/WTFString.cpp. 23026 (WTF): 23027 (WTF::String::String): 23028 (WTF::String::append): 23029 (WTF::codePointCompare): 23030 (WTF::String::insert): 23031 (WTF::String::characterStartingAt): 23032 (WTF::String::truncate): 23033 (WTF::String::remove): 23034 (WTF::String::substring): 23035 (WTF::String::substringSharingImpl): 23036 (WTF::String::lower): 23037 (WTF::String::upper): 23038 (WTF::String::stripWhiteSpace): 23039 (WTF::String::simplifyWhiteSpace): 23040 (WTF::String::removeCharacters): 23041 (WTF::String::foldCase): 23042 (WTF::String::percentage): 23043 (WTF::String::charactersWithNullTermination): 23044 (WTF::String::format): 23045 (WTF::String::number): 23046 (WTF::String::toIntStrict): 23047 (WTF::String::toUIntStrict): 23048 (WTF::String::toInt64Strict): 23049 (WTF::String::toUInt64Strict): 23050 (WTF::String::toIntPtrStrict): 23051 (WTF::String::toInt): 23052 (WTF::String::toUInt): 23053 (WTF::String::toInt64): 23054 (WTF::String::toUInt64): 23055 (WTF::String::toIntPtr): 23056 (WTF::String::toDouble): 23057 (WTF::String::toFloat): 23058 (WTF::String::isolatedCopy): 23059 (WTF::String::split): 23060 (WTF::String::ascii): 23061 (WTF::String::latin1): 23062 (WTF::putUTF8Triple): 23063 (WTF::String::utf8): 23064 (WTF::String::fromUTF8): 23065 (WTF::String::fromUTF8WithLatin1Fallback): 23066 (WTF::isCharacterAllowedInBase): 23067 (WTF::toIntegralType): 23068 (WTF::lengthOfCharactersAsInteger): 23069 (WTF::charactersToIntStrict): 23070 (WTF::charactersToUIntStrict): 23071 (WTF::charactersToInt64Strict): 23072 (WTF::charactersToUInt64Strict): 23073 (WTF::charactersToIntPtrStrict): 23074 (WTF::charactersToInt): 23075 (WTF::charactersToUInt): 23076 (WTF::charactersToInt64): 23077 (WTF::charactersToUInt64): 23078 (WTF::charactersToIntPtr): 23079 (WTF::toDoubleType): 23080 (WTF::charactersToDouble): 23081 (WTF::charactersToFloat): 23082 (WTF::charactersToFloatIgnoringJunk): 23083 (WTF::emptyString): 23084 (String::show): 23085 (string): 23086 (asciiDebug): 23087 * wtf/text/WTFString.h: Renamed from Source/JavaScriptCore/wtf/text/WTFString.h. 23088 (WebKit): 23089 (WTF): 23090 (String): 23091 (WTF::String::String): 23092 (WTF::String::~String): 23093 (WTF::String::swap): 23094 (WTF::String::adopt): 23095 (WTF::String::isNull): 23096 (WTF::String::isEmpty): 23097 (WTF::String::impl): 23098 (WTF::String::length): 23099 (WTF::String::characters): 23100 (WTF::String::characters8): 23101 (WTF::String::characters16): 23102 (WTF::String::is8Bit): 23103 (WTF::String::operator[]): 23104 (WTF::String::find): 23105 (WTF::String::reverseFind): 23106 (WTF::String::findIgnoringCase): 23107 (WTF::String::reverseFindIgnoringCase): 23108 (WTF::String::contains): 23109 (WTF::String::startsWith): 23110 (WTF::String::endsWith): 23111 (WTF::String::append): 23112 (WTF::String::replace): 23113 (WTF::String::makeLower): 23114 (WTF::String::makeUpper): 23115 (WTF::String::fill): 23116 (WTF::String::left): 23117 (WTF::String::right): 23118 (WTF::String::createUninitialized): 23119 (WTF::String::operator NSString*): 23120 (WTF::String::fromUTF8): 23121 (WTF::String::fromUTF8WithLatin1Fallback): 23122 (WTF::String::defaultWritingDirection): 23123 (WTF::String::containsOnlyWhitespace): 23124 (WTF::String::isHashTableDeletedValue): 23125 (WTF::operator+=): 23126 (WTF::operator==): 23127 (WTF::operator!=): 23128 (WTF::equalIgnoringCase): 23129 (WTF::equalPossiblyIgnoringCase): 23130 (WTF::equalIgnoringNullity): 23131 (WTF::operator!): 23132 (WTF::swap): 23133 (WTF::LChar): 23134 (WTF::UChar): 23135 (WTF::String::containsOnlyLatin1): 23136 (WTF::nsStringNilIfEmpty): 23137 (WTF::String::containsOnlyASCII): 23138 (WTF::codePointCompareLessThan): 23139 (WTF::find): 23140 (WTF::reverseFind): 23141 (WTF::append): 23142 (WTF::appendNumber): 23143 (WTF::isAllSpecialCharacters): 23144 (WTF::String::isAllSpecialCharacters): 23145 * wtf/threads/BinarySemaphore.cpp: Renamed from Source/JavaScriptCore/wtf/threads/BinarySemaphore.cpp. 23146 (WTF): 23147 (WTF::BinarySemaphore::BinarySemaphore): 23148 (WTF::BinarySemaphore::~BinarySemaphore): 23149 (WTF::BinarySemaphore::signal): 23150 (WTF::BinarySemaphore::wait): 23151 * wtf/threads/BinarySemaphore.h: Renamed from Source/JavaScriptCore/wtf/threads/BinarySemaphore.h. 23152 (WTF): 23153 (BinarySemaphore): 23154 (WTF::BinarySemaphore::event): 23155 * wtf/threads/win/BinarySemaphoreWin.cpp: Renamed from Source/JavaScriptCore/wtf/threads/win/BinarySemaphoreWin.cpp. 23156 (WTF): 23157 (WTF::BinarySemaphore::BinarySemaphore): 23158 (WTF::BinarySemaphore::~BinarySemaphore): 23159 (WTF::BinarySemaphore::signal): 23160 (WTF::BinarySemaphore::wait): 23161 * wtf/unicode/CharacterNames.h: Renamed from Source/JavaScriptCore/wtf/unicode/CharacterNames.h. 23162 (Unicode): 23163 * wtf/unicode/Collator.h: Renamed from Source/JavaScriptCore/wtf/unicode/Collator.h. 23164 (WTF): 23165 (Collator): 23166 * wtf/unicode/CollatorDefault.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/CollatorDefault.cpp. 23167 (WTF): 23168 (WTF::Collator::Collator): 23169 (WTF::Collator::~Collator): 23170 (WTF::Collator::setOrderLowerFirst): 23171 (WTF::Collator::userDefault): 23172 (WTF::Collator::collate): 23173 * wtf/unicode/ScriptCodesFromICU.h: Renamed from Source/JavaScriptCore/wtf/unicode/ScriptCodesFromICU.h. 23174 * wtf/unicode/UTF8.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/UTF8.cpp. 23175 (Unicode): 23176 (WTF::Unicode::inlineUTF8SequenceLengthNonASCII): 23177 (WTF::Unicode::inlineUTF8SequenceLength): 23178 (WTF::Unicode::UTF8SequenceLength): 23179 (WTF::Unicode::decodeUTF8Sequence): 23180 (WTF::Unicode::convertLatin1ToUTF8): 23181 (WTF::Unicode::convertUTF16ToUTF8): 23182 (WTF::Unicode::isLegalUTF8): 23183 (WTF::Unicode::readUTF8Sequence): 23184 (WTF::Unicode::convertUTF8ToUTF16): 23185 (WTF::Unicode::calculateStringHashAndLengthFromUTF8): 23186 (WTF::Unicode::equalUTF16WithUTF8): 23187 * wtf/unicode/UTF8.h: Renamed from Source/JavaScriptCore/wtf/unicode/UTF8.h. 23188 (Unicode): 23189 * wtf/unicode/Unicode.h: Renamed from Source/JavaScriptCore/wtf/unicode/Unicode.h. 23190 * wtf/unicode/UnicodeMacrosFromICU.h: Renamed from Source/JavaScriptCore/wtf/unicode/UnicodeMacrosFromICU.h. 23191 * wtf/unicode/glib/UnicodeGLib.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/glib/UnicodeGLib.cpp. 23192 (Unicode): 23193 (WTF::Unicode::foldCase): 23194 (WTF::Unicode::getUTF16LengthFromUTF8): 23195 (WTF::Unicode::convertCase): 23196 (WTF::Unicode::toLower): 23197 (WTF::Unicode::toUpper): 23198 (WTF::Unicode::direction): 23199 (WTF::Unicode::umemcasecmp): 23200 * wtf/unicode/glib/UnicodeGLib.h: Renamed from Source/JavaScriptCore/wtf/unicode/glib/UnicodeGLib.h. 23201 (Unicode): 23202 (WTF::Unicode::toLower): 23203 (WTF::Unicode::toUpper): 23204 (WTF::Unicode::toTitleCase): 23205 (WTF::Unicode::isArabicChar): 23206 (WTF::Unicode::isAlphanumeric): 23207 (WTF::Unicode::isFormatChar): 23208 (WTF::Unicode::isSeparatorSpace): 23209 (WTF::Unicode::isPrintableChar): 23210 (WTF::Unicode::isDigit): 23211 (WTF::Unicode::isPunct): 23212 (WTF::Unicode::hasLineBreakingPropertyComplexContext): 23213 (WTF::Unicode::hasLineBreakingPropertyComplexContextOrIdeographic): 23214 (WTF::Unicode::mirroredChar): 23215 (WTF::Unicode::category): 23216 (WTF::Unicode::isLower): 23217 (WTF::Unicode::digitValue): 23218 (WTF::Unicode::combiningClass): 23219 (WTF::Unicode::decompositionType): 23220 * wtf/unicode/icu/CollatorICU.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp. 23221 (WTF): 23222 (WTF::cachedCollatorMutex): 23223 (WTF::Collator::Collator): 23224 (WTF::Collator::userDefault): 23225 (WTF::Collator::~Collator): 23226 (WTF::Collator::setOrderLowerFirst): 23227 (WTF::Collator::collate): 23228 (WTF::Collator::createCollator): 23229 (WTF::Collator::releaseCollator): 23230 * wtf/unicode/icu/UnicodeIcu.h: Renamed from Source/JavaScriptCore/wtf/unicode/icu/UnicodeIcu.h. 23231 (Unicode): 23232 (WTF::Unicode::foldCase): 23233 (WTF::Unicode::toLower): 23234 (WTF::Unicode::toUpper): 23235 (WTF::Unicode::toTitleCase): 23236 (WTF::Unicode::isArabicChar): 23237 (WTF::Unicode::isAlphanumeric): 23238 (WTF::Unicode::isSeparatorSpace): 23239 (WTF::Unicode::isPrintableChar): 23240 (WTF::Unicode::isPunct): 23241 (WTF::Unicode::hasLineBreakingPropertyComplexContext): 23242 (WTF::Unicode::hasLineBreakingPropertyComplexContextOrIdeographic): 23243 (WTF::Unicode::mirroredChar): 23244 (WTF::Unicode::category): 23245 (WTF::Unicode::direction): 23246 (WTF::Unicode::isLower): 23247 (WTF::Unicode::combiningClass): 23248 (WTF::Unicode::decompositionType): 23249 (WTF::Unicode::umemcasecmp): 23250 * wtf/unicode/qt4/UnicodeQt4.h: Renamed from Source/JavaScriptCore/wtf/unicode/qt4/UnicodeQt4.h. 23251 (Properties): 23252 (QUnicodeTables): 23253 (Unicode): 23254 (WTF::Unicode::toLower): 23255 (WTF::Unicode::toUpper): 23256 (WTF::Unicode::toTitleCase): 23257 (WTF::Unicode::foldCase): 23258 (WTF::Unicode::isArabicChar): 23259 (WTF::Unicode::isPrintableChar): 23260 (WTF::Unicode::isSeparatorSpace): 23261 (WTF::Unicode::isPunct): 23262 (WTF::Unicode::isLower): 23263 (WTF::Unicode::hasLineBreakingPropertyComplexContext): 23264 (WTF::Unicode::mirroredChar): 23265 (WTF::Unicode::combiningClass): 23266 (WTF::Unicode::decompositionType): 23267 (WTF::Unicode::umemcasecmp): 23268 (WTF::Unicode::direction): 23269 (WTF::Unicode::category): 23270 * wtf/unicode/wince/UnicodeWinCE.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/wince/UnicodeWinCE.cpp. 23271 (Unicode): 23272 (WTF::Unicode::toLower): 23273 (WTF::Unicode::toUpper): 23274 (WTF::Unicode::foldCase): 23275 (WTF::Unicode::isPrintableChar): 23276 (WTF::Unicode::isSpace): 23277 (WTF::Unicode::isLetter): 23278 (WTF::Unicode::isUpper): 23279 (WTF::Unicode::isLower): 23280 (WTF::Unicode::isDigit): 23281 (WTF::Unicode::isPunct): 23282 (WTF::Unicode::isAlphanumeric): 23283 (WTF::Unicode::toTitleCase): 23284 (WTF::Unicode::direction): 23285 (WTF::Unicode::category): 23286 (WTF::Unicode::decompositionType): 23287 (WTF::Unicode::combiningClass): 23288 (WTF::Unicode::mirroredChar): 23289 (WTF::Unicode::digitValue): 23290 * wtf/unicode/wince/UnicodeWinCE.h: Renamed from Source/JavaScriptCore/wtf/unicode/wince/UnicodeWinCE.h. 23291 (Unicode): 23292 (WTF::Unicode::isSeparatorSpace): 23293 (WTF::Unicode::isHighSurrogate): 23294 (WTF::Unicode::isLowSurrogate): 23295 (WTF::Unicode::isArabicChar): 23296 (WTF::Unicode::hasLineBreakingPropertyComplexContext): 23297 (WTF::Unicode::umemcasecmp): 23298 (WTF::Unicode::surrogateToUcs4): 23299 * wtf/url/api/ParsedURL.cpp: Renamed from Source/JavaScriptCore/wtf/url/api/ParsedURL.cpp. 23300 (WTF): 23301 (WTF::ParsedURL::ParsedURL): 23302 (WTF::ParsedURL::isolatedCopy): 23303 (WTF::ParsedURL::scheme): 23304 (WTF::ParsedURL::username): 23305 (WTF::ParsedURL::password): 23306 (WTF::ParsedURL::host): 23307 (WTF::ParsedURL::port): 23308 (WTF::ParsedURL::path): 23309 (WTF::ParsedURL::query): 23310 (WTF::ParsedURL::fragment): 23311 (WTF::ParsedURL::baseAsString): 23312 (WTF::ParsedURL::segment): 23313 * wtf/url/api/ParsedURL.h: Renamed from Source/JavaScriptCore/wtf/url/api/ParsedURL.h. 23314 (WTF): 23315 (ParsedURL): 23316 (WTF::ParsedURL::ParsedURL): 23317 (WTF::ParsedURL::isValid): 23318 (WTF::ParsedURL::spec): 23319 * wtf/url/api/URLString.h: Renamed from Source/JavaScriptCore/wtf/url/api/URLString.h. 23320 (WTF): 23321 (URLString): 23322 (WTF::URLString::URLString): 23323 (WTF::URLString::string): 23324 * wtf/url/src/RawURLBuffer.h: Renamed from Source/JavaScriptCore/wtf/url/src/RawURLBuffer.h. 23325 (WTF): 23326 (RawURLBuffer): 23327 (WTF::RawURLBuffer::RawURLBuffer): 23328 (WTF::RawURLBuffer::~RawURLBuffer): 23329 (WTF::RawURLBuffer::resize): 23330 * wtf/url/src/URLBuffer.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLBuffer.h. 23331 (WTF): 23332 (URLBuffer): 23333 (WTF::URLBuffer::URLBuffer): 23334 (WTF::URLBuffer::~URLBuffer): 23335 (WTF::URLBuffer::at): 23336 (WTF::URLBuffer::set): 23337 (WTF::URLBuffer::capacity): 23338 (WTF::URLBuffer::length): 23339 (WTF::URLBuffer::data): 23340 (WTF::URLBuffer::setLength): 23341 (WTF::URLBuffer::append): 23342 (WTF::URLBuffer::grow): 23343 * wtf/url/src/URLCharacterTypes.cpp: Renamed from Source/JavaScriptCore/wtf/url/src/URLCharacterTypes.cpp. 23344 (WTF): 23345 * wtf/url/src/URLCharacterTypes.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLCharacterTypes.h. 23346 (WTF): 23347 (URLCharacterTypes): 23348 (WTF::URLCharacterTypes::isQueryChar): 23349 (WTF::URLCharacterTypes::isIPv4Char): 23350 (WTF::URLCharacterTypes::isHexChar): 23351 (WTF::URLCharacterTypes::isCharOfType): 23352 * wtf/url/src/URLComponent.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLComponent.h. 23353 (WTF): 23354 (URLComponent): 23355 (WTF::URLComponent::URLComponent): 23356 (WTF::URLComponent::fromRange): 23357 (WTF::URLComponent::isValid): 23358 (WTF::URLComponent::isNonEmpty): 23359 (WTF::URLComponent::isEmptyOrInvalid): 23360 (WTF::URLComponent::reset): 23361 (WTF::URLComponent::operator==): 23362 (WTF::URLComponent::begin): 23363 (WTF::URLComponent::setBegin): 23364 (WTF::URLComponent::length): 23365 (WTF::URLComponent::setLength): 23366 (WTF::URLComponent::end): 23367 * wtf/url/src/URLEscape.cpp: Renamed from Source/JavaScriptCore/wtf/url/src/URLEscape.cpp. 23368 (WTF): 23369 * wtf/url/src/URLEscape.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLEscape.h. 23370 (WTF): 23371 (WTF::appendURLEscapedCharacter): 23372 * wtf/url/src/URLParser.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLParser.h. 23373 (WTF): 23374 (URLParser): 23375 (WTF::URLParser::isPossibleAuthorityTerminator): 23376 (WTF::URLParser::parseAuthority): 23377 (WTF::URLParser::extractScheme): 23378 (WTF::URLParser::parseAfterScheme): 23379 (WTF::URLParser::parseStandardURL): 23380 (WTF::URLParser::parsePath): 23381 (WTF::URLParser::parsePathURL): 23382 (WTF::URLParser::parseMailtoURL): 23383 (WTF::URLParser::parsePort): 23384 (WTF::URLParser::extractFileName): 23385 (WTF::URLParser::extractQueryKeyValue): 23386 (WTF::URLParser::isURLSlash): 23387 (WTF::URLParser::shouldTrimFromURL): 23388 (WTF::URLParser::trimURL): 23389 (WTF::URLParser::consecutiveSlashes): 23390 (WTF::URLParser::isPortDigit): 23391 (WTF::URLParser::nextAuthorityTerminator): 23392 (WTF::URLParser::parseUserInfo): 23393 (WTF::URLParser::parseServerInfo): 23394 * wtf/url/src/URLQueryCanonicalizer.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLQueryCanonicalizer.h. 23395 (WTF): 23396 (URLQueryCanonicalizer): 23397 (WTF::URLQueryCanonicalizer::canonicalize): 23398 (WTF::URLQueryCanonicalizer::isAllASCII): 23399 (WTF::URLQueryCanonicalizer::isRaw8Bit): 23400 (WTF::URLQueryCanonicalizer::appendRaw8BitQueryString): 23401 (WTF::URLQueryCanonicalizer::convertToQueryEncoding): 23402 * wtf/url/src/URLSegments.cpp: Renamed from Source/JavaScriptCore/wtf/url/src/URLSegments.cpp. 23403 (WTF): 23404 (WTF::URLSegments::length): 23405 (WTF::URLSegments::charactersBefore): 23406 * wtf/url/src/URLSegments.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLSegments.h. 23407 (WTF): 23408 (URLSegments): 23409 (WTF::URLSegments::URLSegments): 23410 * wtf/win/MainThreadWin.cpp: Renamed from Source/JavaScriptCore/wtf/win/MainThreadWin.cpp. 23411 (WTF): 23412 (WTF::ThreadingWindowWndProc): 23413 (WTF::initializeMainThreadPlatform): 23414 (WTF::scheduleDispatchFunctionsOnMainThread): 23415 * wtf/win/OwnPtrWin.cpp: Renamed from Source/JavaScriptCore/wtf/win/OwnPtrWin.cpp. 23416 (WTF): 23417 (WTF::deleteOwnedPtr): 23418 * wtf/wince/FastMallocWinCE.h: Renamed from Source/JavaScriptCore/wtf/wince/FastMallocWinCE.h. 23419 (operator new): 23420 (operator delete): 23421 (operator new[]): 23422 (operator delete[]): 23423 (throw): 23424 (WTF): 23425 (Internal): 23426 (WTF::Internal::fastMallocMatchValidationType): 23427 (WTF::Internal::fastMallocMatchValidationValue): 23428 (WTF::Internal::setFastMallocMatchValidationType): 23429 (WTF::fastMallocMatchValidateMalloc): 23430 (WTF::fastMallocMatchValidateFree): 23431 * wtf/wince/MemoryManager.cpp: Renamed from Source/JavaScriptCore/wtf/wince/MemoryManager.cpp. 23432 (WTF): 23433 (WTF::memoryManager): 23434 (WTF::MemoryManager::MemoryManager): 23435 (WTF::MemoryManager::~MemoryManager): 23436 (WTF::MemoryManager::createCompatibleBitmap): 23437 (WTF::MemoryManager::createDIBSection): 23438 (WTF::MemoryManager::m_malloc): 23439 (WTF::MemoryManager::m_calloc): 23440 (WTF::MemoryManager::m_realloc): 23441 (WTF::MemoryManager::m_free): 23442 (WTF::MemoryManager::resizeMemory): 23443 (WTF::MemoryManager::allocate64kBlock): 23444 (WTF::MemoryManager::free64kBlock): 23445 (WTF::MemoryManager::onIdle): 23446 (WTF::MemoryManager::virtualAlloc): 23447 (WTF::MemoryManager::virtualFree): 23448 (WTF::fastMalloc): 23449 (WTF::fastCalloc): 23450 (WTF::fastFree): 23451 (WTF::fastRealloc): 23452 (WTF::fastMallocForbid): 23453 (WTF::fastMallocAllow): 23454 (WTF::fastZeroedMalloc): 23455 (WTF::tryFastMalloc): 23456 (WTF::tryFastZeroedMalloc): 23457 (WTF::tryFastCalloc): 23458 (WTF::tryFastRealloc): 23459 (WTF::fastStrDup): 23460 * wtf/wince/MemoryManager.h: Renamed from Source/JavaScriptCore/wtf/wince/MemoryManager.h. 23461 (WTF): 23462 (MemoryManager): 23463 (WTF::MemoryManager::allocationCanFail): 23464 (WTF::MemoryManager::setAllocationCanFail): 23465 (MemoryAllocationCanFail): 23466 (WTF::MemoryAllocationCanFail::MemoryAllocationCanFail): 23467 (WTF::MemoryAllocationCanFail::~MemoryAllocationCanFail): 23468 (MemoryAllocationCannotFail): 23469 (WTF::MemoryAllocationCannotFail::MemoryAllocationCannotFail): 23470 (WTF::MemoryAllocationCannotFail::~MemoryAllocationCannotFail): 23471 * wtf/wx/MainThreadWx.cpp: Renamed from Source/JavaScriptCore/wtf/wx/MainThreadWx.cpp. 23472 (wxCallAfter): 23473 (wxCallAfter::wxCallAfter): 23474 (wxCallAfter::OnCallback): 23475 (WTF): 23476 (WTF::initializeMainThreadPlatform): 23477 (WTF::scheduleDispatchFunctionsOnMainThread): 23478 * wtf/wx/StringWx.cpp: Renamed from Source/JavaScriptCore/wtf/wx/StringWx.cpp. 23479 (WTF): 23480 (WTF::String::String): 23481 (WTF::String::operator wxString): 23482 234832012-03-22 Hyowon Kim <hw1008.kim@samsung.com> 23484 23485 [EFL] Add PageClientEfl to WebCoreSupport. 23486 https://bugs.webkit.org/show_bug.cgi?id=80748 23487 23488 Reviewed by Noam Rosenthal. 23489 23490 * wtf/Platform.h: Disable accelerated compositing. It's not ready yet. 23491 234922012-03-21 Beth Dakin <bdakin@apple.com> 23493 23494 https://bugs.webkit.org/show_bug.cgi?id=80322 23495 Implement image-set 23496 23497 Reviewed by Dean Jackson. 23498 23499 For the time being, image-set is opt-in since the implementation is 23500 incomplete. 23501 23502 Add an ENABLE flag for image-set. 23503 * wtf/Platform.h: 23504 235052012-03-21 Jessie Berlin <jberlin@apple.com> 23506 23507 Fix the Windows build after r111504. 23508 23509 * WTF.vcproj/WTF.vcproj: 23510 Platform.h was moved to Source/WTF. 23511 * WTF.vcproj/copy-files.cmd: 23512 Copy Platform.h from its new source location. This separate copy will not be necessary once 23513 the full move is done and all the headers are being copied at once from the new locations. 23514 235152012-03-21 Jessie Berlin <jberlin@apple.com> 23516 23517 WTF headers should be in $(ConfigurationBuildDir)\include\private\wtf, not 23518 $(ConfigurationBuildDir)\include\private\JavaScriptCore\wtf. 23519 https://bugs.webkit.org/show_bug.cgi?id=81739 23520 23521 Reviewed by Dan Bernstein. 23522 23523 * WTF.vcproj/copy-files.cmd: 23524 Copy the headers to private/include/wtf instead of private/include/JavaScriptCore/wtf. 23525 235262012-03-20 Eric Seidel <eric@webkit.org> 23527 23528 Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf 23529 https://bugs.webkit.org/show_bug.cgi?id=80911 23530 23531 Reviewed by Adam Barth. 23532 23533 Update build systems to account for the new location of Platform.h 23534 23535 * GNUmakefile.list.am: 23536 * WTF.gypi: 23537 * WTF.pro: 23538 * WTF.vcproj/WTF.vcproj: 23539 * WTF.vcproj/work-around-vs-dependency-tracking-bugs.py: 23540 (react_to_vsprops_changes): 23541 * WTF.xcodeproj/project.pbxproj: 23542 * config.h: I don't think this change is 100% correct (but seemed to be needed to make qt-wk2 build) 23543 - This dependency on JSC should be removed regardless (in a later patch). 23544 * wtf/Platform.h: Renamed from Source/JavaScriptCore/wtf/Platform.h. 23545 235462012-03-20 Steve Falkenburg <sfalken@apple.com> 23547 23548 Move WTF-related Windows project files out of JavaScriptCore 23549 https://bugs.webkit.org/show_bug.cgi?id=80680 23550 23551 This change only moves the vcproj and related files from JavaScriptCore/JavaScriptCore.vcproj/WTF. 23552 It does not move any source code. This is in preparation for the WTF source move out of 23553 JavaScriptCore. 23554 23555 Reviewed by Jessie Berlin. 23556 23557 * WTF.vcproj: Added. 23558 * WTF.vcproj/WTF.vcproj: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTF.vcproj. 23559 * WTF.vcproj/WTFCommon.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFCommon.vsprops. 23560 * WTF.vcproj/WTFDebug.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFDebug.vsprops. 23561 * WTF.vcproj/WTFDebugAll.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFDebugAll.vsprops. 23562 * WTF.vcproj/WTFDebugCairoCFLite.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFDebugCairoCFLite.vsprops. 23563 * WTF.vcproj/WTFGenerated.make: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGenerated.make. 23564 * WTF.vcproj/WTFGenerated.vcproj: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGenerated.vcproj. 23565 * WTF.vcproj/WTFGeneratedCommon.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedCommon.vsprops. 23566 * WTF.vcproj/WTFGeneratedDebug.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedDebug.vsprops. 23567 * WTF.vcproj/WTFGeneratedDebugAll.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedDebugAll.vsprops. 23568 * WTF.vcproj/WTFGeneratedDebugCairoCFLite.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedDebugCairoCFLite.vsprops. 23569 * WTF.vcproj/WTFGeneratedProduction.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedProduction.vsprops. 23570 * WTF.vcproj/WTFGeneratedRelease.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedRelease.vsprops. 23571 * WTF.vcproj/WTFGeneratedReleaseCairoCFLite.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFGeneratedReleaseCairoCFLite.vsprops. 23572 * WTF.vcproj/WTFPostBuild.cmd: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFPostBuild.cmd. 23573 * WTF.vcproj/WTFPreBuild.cmd: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFPreBuild.cmd. 23574 * WTF.vcproj/WTFProduction.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFProduction.vsprops. 23575 * WTF.vcproj/WTFRelease.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFRelease.vsprops. 23576 * WTF.vcproj/WTFReleaseCairoCFLite.vsprops: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFReleaseCairoCFLite.vsprops. 23577 * WTF.vcproj/build-generated-files.sh: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/build-generated-files.sh. 23578 * WTF.vcproj/copy-files.cmd: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/copy-files.cmd. 23579 * WTF.vcproj/work-around-vs-dependency-tracking-bugs.py: Copied from Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/work-around-vs-dependency-tracking-bugs.py. 23580 235812012-03-20 Peter Beverloo <peter@chromium.org> 23582 23583 [Chromium] Fix the Android build by building NEWWTF for host 23584 https://bugs.webkit.org/show_bug.cgi?id=81643 23585 23586 Reviewed by Tony Gentilcore. 23587 23588 Chromium for Android builds the ImageDiff target for the host architecture, 23589 so all dependencies it has need to be able to build for host as well. 23590 r111258 added (new)WTF as a dependency instead of just including the 23591 header files, so make it possible to build the newwtf target for host. 23592 23593 * WTF.gyp/WTF.gyp: 23594 235952012-03-19 Dan Bernstein <mitz@apple.com> 23596 23597 Set the svn:ignore property on the Xcode project. 23598 23599 * WTF.xcodeproj: Added property svn:ignore. 23600 236012012-03-16 Mark Rowe <mrowe@apple.com> 23602 23603 Build fix. Do not preserve owner and group information when installing the WTF headers. 23604 23605 * WTF.xcodeproj/project.pbxproj: 23606 236072012-03-07 Mark Rowe <mrowe@apple.com> 23608 23609 Teach make to build WTF. 23610 23611 * Makefile: Added. 23612 236132012-02-11 Filip Pizlo <fpizlo@apple.com> 23614 23615 It should be possible to send all JSC debug logging to a file 23616 https://bugs.webkit.org/show_bug.cgi?id=78418 23617 23618 Reviewed by Sam Weinig. 23619 23620 Introduced wtf/DataLog, which defines WTF::dataFile, WTF::dataLog, 23621 and WTF::dataLogV. Changed all debugging- and profiling-related printfs 23622 to use WTF::dataLog() or one of its friends. By default, debug logging 23623 goes to stderr, unless you change the setting in wtf/DataLog.cpp. 23624 23625 * WTF.pro: 23626 236272012-02-03 Simon Hausmann <simon.hausmann@nokia.com> 23628 23629 [Qt] Fix build when cross-compiling 23630 https://bugs.webkit.org/show_bug.cgi?id=77634 23631 23632 Reviewed by Tor Arne Vestbø. 23633 23634 * WTF.pri: Don't use icu-config for determining the library search 23635 path and libraries needed for ICU. Either we use icu-config for includes 23636 _and_ libraries or we don't. Right now we assume that icu is a system library 23637 and expect the headers in the default include search pathes (/usr/include for example). 23638 However we use icu-config to figure out where the libraries are, which breaks when 23639 cross-compiling, because icu-config isn't cross-compile friendly (I wish icu was using 23640 pkg-config). I think for the time being we should require ICU as a _system_ library, 23641 which implies the header and library availability in default search paths. This also 23642 makes the build succeed when cross-compiling with --sysroot. 23643 236442012-01-27 Zeno Albisser <zeno@webkit.org> 23645 23646 [Qt][Mac] Build fails after adding ICU support (r105997). 23647 https://bugs.webkit.org/show_bug.cgi?id=77118 23648 23649 Link to libicucore if platform Mac. 23650 23651 Reviewed by Tor Arne Vestbø. 23652 23653 * WTF.pri: 23654 236552012-01-26 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 23656 23657 [Qt] Use ICU if available 23658 https://bugs.webkit.org/show_bug.cgi?id=76821 23659 23660 Reviewed by Simon Hausmann. 23661 23662 Adding libicu dependencies for a Qt5 based build. 23663 23664 * WTF.pri: 23665 236662012-01-26 Csaba Osztrogonác <ossy@webkit.org> 23667 23668 [Qt][Win] One more speculative buildfix after r105970. 23669 23670 * WTF.pri: 23671 236722012-01-26 Nikolas Zimmermann <nzimmermann@rim.com> 23673 23674 Not reviewed. Try to fix Qt/Win build by building OwnPtrWin.cpp into the WTF library. 23675 23676 * WTF.pro: 23677 236782012-01-19 Joi Sigurdsson <joi@chromium.org> 23679 23680 Enable use of precompiled headers in Chromium port on Windows. 23681 23682 Bug 76381 - Use precompiled headers in Chromium port on Windows 23683 https://bugs.webkit.org/show_bug.cgi?id=76381 23684 23685 Reviewed by Tony Chang. 23686 23687 * WTF.gyp/WTF.gyp: Include WinPrecompile.gypi. 23688 236892012-01-18 Roland Takacs <takacs.roland@stud.u-szeged.hu> 23690 23691 Cross-platform processor core counter 23692 https://bugs.webkit.org/show_bug.cgi?id=76530 23693 23694 Reviewed by Zoltan Herczeg. 23695 23696 Two files have been added to the project, namely NumberOfCores.h/cpp, 23697 that include a CPU core number determining function. 23698 23699 * WTF.pro: 23700 237012012-01-17 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 23702 23703 Uint8ClampedArray support 23704 https://bugs.webkit.org/show_bug.cgi?id=74455 23705 23706 Reviewed by Filip Pizlo. 23707 23708 * WTF.pro: 23709 237102012-01-13 Alexis Menard <alexis.menard@openbossa.org> 23711 23712 Unreviewed build fix for Qt SnowLeopard build bot. 23713 23714 This is a workaround for the moment. 23715 23716 * wtf/Platform.h: 23717 237182012-01-12 Simon Hausmann <simon.hausmann@nokia.com> 23719 23720 Make the new WTF module build on Qt 23721 https://bugs.webkit.org/show_bug.cgi?id=76163 23722 23723 Reviewed by Tor Arne Vestbø. 23724 23725 With this change the WTF sources are built _here_ but _from_ their old location using a VPATH. 23726 23727 * WTF.pri: Renamed from Source/JavaScriptCore/wtf/wtf.pri. 23728 * WTF.pro: Renamed from Source/JavaScriptCore/wtf/wtf.pro. 23729 * config.h: Bring this file in sync with JavaScriptCore/config.h with regards to the inclusion 23730 / definition of the export macros. 23731 237322012-01-06 Benjamin Poulain <bpoulain@apple.com> 23733 23734 [Mac] Sort the resources of WTF.xcodeproj 23735 https://bugs.webkit.org/show_bug.cgi?id=75639 23736 23737 Reviewed by Andreas Kling. 23738 23739 * WTF.xcodeproj/project.pbxproj: 23740 237412012-01-06 Eric Seidel <eric@webkit.org> and Gustavo Noronha Silva <gustavo.noronha@collabora.com> 23742 23743 Make the new WTF module build on Gtk 23744 https://bugs.webkit.org/show_bug.cgi?id=75669 23745 23746 * GNUmakefile.am: Added. 23747 * GNUmakefile.list.am: Added. 23748 237492011-11-19 Adam Barth <abarth@webkit.org> 23750 23751 Integrate Source/WTF with the Chromium build system 23752 https://bugs.webkit.org/show_bug.cgi?id=72790 23753 23754 Reviewed by Eric Seidel. 23755 23756 Rename the target in this file to "newwtf" to avoid naming conflicts. 23757 23758 * WTF.gyp/WTF.gyp: 23759 237602011-11-19 Mark Rowe <mrowe@apple.com> 23761 23762 WTF should have an Xcode project 23763 https://bugs.webkit.org/show_bug.cgi?id=71752 23764 23765 Reviewed by Adam Barth. 23766 23767 This adds an Xcode project that includes only Stub.cpp and Stub.h. 23768 They’re built in to a library at the appropriate path for each 23769 configuration (WebKitBuild/{Debug,Release}/libWTF.a and 23770 /usr/local/lib/libWTF.a) and headers are installed in to the 23771 appropriate location (WebKitBuild/{Debug,Release}/usr/local/include/wtf 23772 and /usr/local/include/wtf). I tested building WTF in this project and 23773 everything appears to build except for DateMath.cpp (due to bug 71747). 23774 I have not yet done any work on making JavaScriptCore and other 23775 projects use the built products of this new project. 23776 23777 * Configurations: Added. 23778 * Configurations/Base.xcconfig: Copied from Source/JavaScriptCore/Configurations/Base.xcconfig. 23779 * Configurations/CompilerVersion.xcconfig: Copied from Source/JavaScriptCore/Configurations/CompilerVersion.xcconfig. 23780 * Configurations/DebugRelease.xcconfig: Copied from Source/JavaScriptCore/Configurations/DebugRelease.xcconfig. 23781 * Configurations/WTF.xcconfig: Copied from Source/WebKit2/Configurations/Shim.xcconfig. 23782 * WTF.xcodeproj: Added. 23783 * WTF.xcodeproj/project.pbxproj: Added. 23784 * config.h: Copied from Source/JavaScriptCore/config.h. 23785 * icu: Added. 23786 * icu/LICENSE: Copied from Source/JavaScriptCore/icu/LICENSE. 23787 * icu/README: Copied from Source/JavaScriptCore/icu/README. 23788 * icu/unicode: Added. 23789 * icu/unicode/parseerr.h: Copied from Source/JavaScriptCore/icu/unicode/parseerr.h. 23790 * icu/unicode/platform.h: Copied from Source/JavaScriptCore/icu/unicode/platform.h. 23791 * icu/unicode/putil.h: Copied from Source/JavaScriptCore/icu/unicode/putil.h. 23792 * icu/unicode/uchar.h: Copied from Source/JavaScriptCore/icu/unicode/uchar.h. 23793 * icu/unicode/ucnv.h: Copied from Source/JavaScriptCore/icu/unicode/ucnv.h. 23794 * icu/unicode/ucnv_err.h: Copied from Source/JavaScriptCore/icu/unicode/ucnv_err.h. 23795 * icu/unicode/ucol.h: Copied from Source/JavaScriptCore/icu/unicode/ucol.h. 23796 * icu/unicode/uconfig.h: Copied from Source/JavaScriptCore/icu/unicode/uconfig.h. 23797 * icu/unicode/uenum.h: Copied from Source/JavaScriptCore/icu/unicode/uenum.h. 23798 * icu/unicode/uiter.h: Copied from Source/JavaScriptCore/icu/unicode/uiter.h. 23799 * icu/unicode/uloc.h: Copied from Source/JavaScriptCore/icu/unicode/uloc.h. 23800 * icu/unicode/umachine.h: Copied from Source/JavaScriptCore/icu/unicode/umachine.h. 23801 * icu/unicode/unorm.h: Copied from Source/JavaScriptCore/icu/unicode/unorm.h. 23802 * icu/unicode/urename.h: Copied from Source/JavaScriptCore/icu/unicode/urename.h. 23803 * icu/unicode/uscript.h: Copied from Source/JavaScriptCore/icu/unicode/uscript.h. 23804 * icu/unicode/uset.h: Copied from Source/JavaScriptCore/icu/unicode/uset.h. 23805 * icu/unicode/ustring.h: Copied from Source/JavaScriptCore/icu/unicode/ustring.h. 23806 * icu/unicode/utf.h: Copied from Source/JavaScriptCore/icu/unicode/utf.h. 23807 * icu/unicode/utf16.h: Copied from Source/JavaScriptCore/icu/unicode/utf16.h. 23808 * icu/unicode/utf8.h: Copied from Source/JavaScriptCore/icu/unicode/utf8.h. 23809 * icu/unicode/utf_old.h: Copied from Source/JavaScriptCore/icu/unicode/utf_old.h. 23810 * icu/unicode/utypes.h: Copied from Source/JavaScriptCore/icu/unicode/utypes.h. 23811 * icu/unicode/uversion.h: Copied from Source/JavaScriptCore/icu/unicode/uversion.h. 23812 238132011-11-03 Adam Barth <abarth@webkit.org> 23814 23815 Add Stub.h and Stub.cpp to Source-level WTF project 23816 https://bugs.webkit.org/show_bug.cgi?id=71497 23817 23818 Reviewed by Eric Seidel. 23819 23820 This patch adds some stub files and a skelton GYP build file as a 23821 starting point for the new Source-level WTF project. Other build 23822 systems and actual code will arrive in future patches. 23823 23824 * Stub.cpp: Added. 23825 * Stub.h: Added. 23826 * WTF.gyp/WTF.gyp: Added. 23827 * WTF.gypi: Added. 23828 238292011-11-02 Adam Barth <abarth@webkit.org> 23830 23831 Add stubs for WTF and Platform 23832 https://bugs.webkit.org/show_bug.cgi?id=71492 23833 23834 Reviewed by Eric Seidel. 23835 23836 This patch creates the WTF directory, which begins the process of 23837 moving WTF out of JavaScriptCore. 23838