JSLock release should only modify the AtomicStringTable if it modified in acquire
authorjoepeck@webkit.org <joepeck@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 24 Jul 2014 23:56:34 +0000 (23:56 +0000)
committerjoepeck@webkit.org <joepeck@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 24 Jul 2014 23:56:34 +0000 (23:56 +0000)
commit9ba0e20c22e1d1f179e68596831bb9c99b304c11
tree759bd7ccd09864f2f55e35cd1b9b9c2a3c521ff2
parentddd3170cce5a063aaff8fc6d63806d86a0ba4f15
JSLock release should only modify the AtomicStringTable if it modified in acquire
https://bugs.webkit.org/show_bug.cgi?id=135143

Reviewed by Darin Adler.

* runtime/JSLock.cpp:
(JSC::JSLock::JSLock):
Initialize the member variable to nullptr.

(JSC::JSLock::willDestroyVM):
Update style to use nullptr instead of 0.

(JSC::JSLock::willReleaseLock):
We should only reset the thread data's atomic string table if
didAcquireLock changed it. m_entryAtomicStringTable will have
been set by didAcquireLock if it changed, or nullptr if it didn't.
This way we are sure we are balanced, regardless of m_vm changes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@171558 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/JSLock.cpp