[Webkit-unassigned] [Bug 65399] StackBounds checker fails on custom stack implementations (typically in a coroutine setting)

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Aug 10 20:26:53 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=65399





--- Comment #10 from Slava Akhmechet <coffeemug at gmail.com>  2011-08-10 20:26:53 PST ---
(In reply to comment #9)
> Our namespacing convention calls for "JSContextGroupSetStackBounds".
Sorry, will change.

> > Source/JavaScriptCore/runtime/JSGlobalData.cpp:210
> >          m_stack = wtfThreadData().stack();
> > +    else
> > +        m_stack = new StackBounds();
> 
> This doesn't seem right. For globalDataType != Default, m_stack gets set to "new StackBounds()", but stack() returns wtfThreadData().stack().

I agree, but this is equivalent to the code that's in place right now. Currently JSGlobalData constructs m_stack via the default constructor, and later conditionally overwrites it as follows:

207    if (globalDataType == Default)
208        m_stack = wtfThreadData().stack();

The member function stack() is defined as follows:

211        const StackBounds& stack()
212        {
213            return (globalDataType == Default)
214                ? m_stack
215                : wtfThreadData().stack();
216        }

I didn't want to dive into this and make changes because they're outside the scope of the patch. Do you have thoughts on this?

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list