[webkit-reviews] review denied: [Bug 129265] Need to initialize VM stack data even when the VM is on an exclusive thread : [Attachment 225114] patch 2: extensiveThread pushed down into JSLock + other fixes.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Feb 24 19:55:33 PST 2014


Geoffrey Garen <ggaren at apple.com> has denied Mark Lam <mark.lam at apple.com>'s
request for review:
Bug 129265: Need to initialize VM stack data even when the VM is on an
exclusive thread
https://bugs.webkit.org/show_bug.cgi?id=129265

Attachment 225114: patch 2: extensiveThread pushed down into JSLock + other
fixes.
https://bugs.webkit.org/attachment.cgi?id=225114&action=review

------- Additional Comments from Geoffrey Garen <ggaren at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=225114&action=review


> Source/JavaScriptCore/runtime/JSLock.cpp:83
> +    : m_ownerThreadID(std::thread::id())

m_ownerThreadID is supposed to be the thread that took the lock. But in the
constructor, no thread has taken the lock. So, I don't think this is right.

> Source/JavaScriptCore/runtime/JSLock.cpp:104
> +    m_hasExclusiveThread = (threadId != std::thread::id());

Why does it matter if threadId != std::thread::id()? setExclusiveThread()
should always establish an exclusive thread.

> Source/JavaScriptCore/runtime/JSLock.cpp:105
> +    m_ownerThreadID = threadId;

I don't think you should use m_ownerThreadID in this way. (See above.)

Perhaps the right answer is to use an m_exclusiveThread data member instead of
an m_hasExclusiveThread boolean, and store the exclusive thread in that data
member. You can use the null threadID if there is no exclusive thread.


More information about the webkit-reviews mailing list