)]}' { "commit": "cbcb2ab29b03c287b10daf4d6bbf01921507466a", "tree": "ee38f4bdc31ac4bafd370ffca90781ef80ea6c9d", "parents": [ "6372d18ed2fb0e5306b33bd85febb537c2fcf56a" ], "author": { "name": "utatane.tea@gmail.com", "email": "utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc", "time": "Mon Apr 30 17:30:26 2018 +0000" }, "committer": { "name": "utatane.tea@gmail.com", "email": "utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc", "time": "Mon Apr 30 17:30:26 2018 +0000" }, "message": "Use WordLock instead of std::mutex for Threading\nhttps://bugs.webkit.org/show_bug.cgi?id\u003d185121\n\nReviewed by Geoffrey Garen.\n\nSource/bmalloc:\n\nAdd constexpr to explicitly describe that bmalloc::Mutex constructor is constexpr.\n\n* bmalloc/Mutex.h:\n\nSource/JavaScriptCore:\n\nThreadGroup starts using WordLock.\n\n* heap/MachineStackMarker.h:\n(JSC::MachineThreads::getLock):\n\nSource/WTF:\n\nBefore r231151, WordLock depends on ThreadSpecific. It means that our Threading implementation\ncannot use this lock since Threading primitives could touch these locks after ThreadSpecific\nfor that WordLock is destroyed.\n\nNow WordLock is changed not to use ThreadSpecific. So it does not depend on our Threading\nmechanism and our Threading can start using WordLock internally.\n\nThis patch changes WTF::Thread and WTF::ThreadGroup to use WordLock instead of std::mutex.\n\nAnd add constexpr to explicitly describe that Lock, Condition, and WordLock constructors are constexpr.\n\n* wtf/Condition.h:\n* wtf/Lock.h:\n* wtf/ThreadGroup.h:\n(WTF::ThreadGroup::getLock):\n* wtf/Threading.cpp:\n(WTF::Thread::didExit):\n(WTF::Thread::addToThreadGroup):\n(WTF::Thread::removeFromThreadGroup):\n* wtf/Threading.h:\n* wtf/ThreadingPthreads.cpp:\n(WTF::Thread::changePriority):\n(WTF::Thread::waitForCompletion):\n(WTF::Thread::detach):\n(WTF::Thread::signal):\n(WTF::Thread::establishPlatformSpecificHandle):\n* wtf/ThreadingWin.cpp:\n(WTF::Thread::changePriority):\n(WTF::Thread::waitForCompletion):\n(WTF::Thread::detach):\n(WTF::Thread::establishPlatformSpecificHandle):\n(WTF::Thread::initializeTLSKey):\n(WTF::Thread::currentDying):\n(WTF::Thread::get):\n(WTF::Thread::initializeTLS):\n(WTF::Thread::destructTLS):\n(WTF::threadMapMutex): Deleted.\n* wtf/WordLock.h:\n\nTools:\n\n* TestWebKitAPI/Tests/WTF/Signals.cpp:\n(TEST):\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@231158 268f45cc-cd09-0410-ab3c-d52691b4dbfc\n", "tree_diff": [ { "type": "modify", "old_id": "4d0f8b51c8cbf4852c01d20dc675d76451d2ab10", "old_mode": 33188, "old_path": "Source/JavaScriptCore/ChangeLog", "new_id": "e429ca410adda6dad933f4dee41fac156f0f4fe1", "new_mode": 33188, "new_path": "Source/JavaScriptCore/ChangeLog" }, { "type": "modify", "old_id": "1d794db1218fff8e227840c88868a78c7f556d32", "old_mode": 33188, "old_path": "Source/JavaScriptCore/heap/MachineStackMarker.h", "new_id": "5fe07c355cfae13fc0537b82c5d08947e0775890", "new_mode": 33188, "new_path": "Source/JavaScriptCore/heap/MachineStackMarker.h" }, { "type": "modify", "old_id": "d7130ca15f59522d849810bc0072f4040a72799b", "old_mode": 33188, "old_path": "Source/WTF/ChangeLog", "new_id": "99f2b8fe24902afd2e9095eb7f3e551eff373b61", "new_mode": 33188, "new_path": "Source/WTF/ChangeLog" }, { "type": "modify", "old_id": "512f10f2ad53caeba8079d606f676cc9fc2c0edc", "old_mode": 33188, "old_path": "Source/WTF/wtf/Condition.h", "new_id": "75c8ea5d91288a3b56d77ed3497aa2c39df104d8", "new_mode": 33188, "new_path": "Source/WTF/wtf/Condition.h" }, { "type": "modify", "old_id": "d3c72152c1c4d8187d004c2bb82a1027d24fa873", "old_mode": 33188, "old_path": "Source/WTF/wtf/Lock.h", "new_id": "e39470e1e5d295a4521c7a0d12a17e54f1f78437", "new_mode": 33188, "new_path": "Source/WTF/wtf/Lock.h" }, { "type": "modify", "old_id": "88e419a111260774fd32cb180cb2778891a63aef", "old_mode": 33188, "old_path": "Source/WTF/wtf/ThreadGroup.h", "new_id": "f53ce3196c2bdd6062a1b2adc66ef79b10cecf9a", "new_mode": 33188, "new_path": "Source/WTF/wtf/ThreadGroup.h" }, { "type": "modify", "old_id": "ee8ad94c4805d0a7346101587f8f6fac760ff1cc", "old_mode": 33188, "old_path": "Source/WTF/wtf/Threading.cpp", "new_id": "d4ce4fc5264ee5c29bea6ad161c0398ee480663a", "new_mode": 33188, "new_path": "Source/WTF/wtf/Threading.cpp" }, { "type": "modify", "old_id": "97cbe5418b9cfba9b326ced471ac81fbe1ad4725", "old_mode": 33188, "old_path": "Source/WTF/wtf/Threading.h", "new_id": "47e019fb95c88d454fc1b54f914d633f57b64417", "new_mode": 33188, "new_path": "Source/WTF/wtf/Threading.h" }, { "type": "modify", "old_id": "ddac7374a3c6f9525cee62063ff59eff1761787f", "old_mode": 33188, "old_path": "Source/WTF/wtf/ThreadingPthreads.cpp", "new_id": "80b1212581c0692d5e5a462ad49363280683a4f5", "new_mode": 33188, "new_path": "Source/WTF/wtf/ThreadingPthreads.cpp" }, { "type": "modify", "old_id": "6f3d41d6a0457fab0c06e8ed1b9d95c38c505c20", "old_mode": 33188, "old_path": "Source/WTF/wtf/ThreadingWin.cpp", "new_id": "4e65a5e4277e4419e806652979695315998a56ee", "new_mode": 33188, "new_path": "Source/WTF/wtf/ThreadingWin.cpp" }, { "type": "modify", "old_id": "bf1354a6b86ce72d6ac7be1430a9359cf2343e24", "old_mode": 33188, "old_path": "Source/WTF/wtf/WordLock.h", "new_id": "8a90c1e81aa9f6463242e56dc20827af1ef45638", "new_mode": 33188, "new_path": "Source/WTF/wtf/WordLock.h" }, { "type": "modify", "old_id": "c3787cb871c9d19037d5bc9f34e0d1725300fcb3", "old_mode": 33188, "old_path": "Source/bmalloc/ChangeLog", "new_id": "7afb578d27d90909e08550595621f70cb5748064", "new_mode": 33188, "new_path": "Source/bmalloc/ChangeLog" }, { "type": "modify", "old_id": "a8c5ee6b02a672a3e7b448d7ef2a9a4a4ff1fc31", "old_mode": 33188, "old_path": "Source/bmalloc/bmalloc/Mutex.h", "new_id": "e18de8408fb9d66020966bc68cc744052b68b738", "new_mode": 33188, "new_path": "Source/bmalloc/bmalloc/Mutex.h" }, { "type": "modify", "old_id": "efa7fe4c4dfce8bd274d0bbe0daa921468b5859f", "old_mode": 33188, "old_path": "Tools/ChangeLog", "new_id": "394b4f83478db8b81ddc0524f56bac7eba9c12a1", "new_mode": 33188, "new_path": "Tools/ChangeLog" }, { "type": "modify", "old_id": "4b9e834029db70f0592935e741a6c2c63cdd2b25", "old_mode": 33188, "old_path": "Tools/TestWebKitAPI/Tests/WTF/Signals.cpp", "new_id": "680c9f595014d6bbf867373f23eeb01e2fe92010", "new_mode": 33188, "new_path": "Tools/TestWebKitAPI/Tests/WTF/Signals.cpp" } ] }