[webkit-reviews] review granted: [Bug 134420] [ftlopt] DebuggerCallFrame::scope() should return a DebuggerScope : [Attachment 237195] patch 4: with fix for https://webkit.org/b/135656

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Aug 27 11:01:04 PDT 2014


Geoffrey Garen <ggaren at apple.com> has granted Mark Lam <mark.lam at apple.com>'s
request for review:
Bug 134420: [ftlopt] DebuggerCallFrame::scope() should return a DebuggerScope
https://bugs.webkit.org/show_bug.cgi?id=134420

Attachment 237195: patch 4: with fix for https://webkit.org/b/135656
https://bugs.webkit.org/attachment.cgi?id=237195&action=review

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


r=me, with some fixes below:

> Source/JavaScriptCore/ChangeLog:52
> +	      Since the DebuggerScope is a JSObject, it's liveness is
determined by its reachability.

Should be "its".

> Source/JavaScriptCore/ChangeLog:53
> +	      However, it's "validity" is determined by the life-cycle of its
owner DebuggerCallFrame.

Ditto.

> Source/JavaScriptCore/debugger/DebuggerScope.cpp:160
> +bool DebuggerScope::isFunctionScope() const
> +{
> +    // In the current debugger implementation, every function will create an

> +    // activation object. Hence, an activation object implies a function
scope.
> +    return m_scope->isActivationObject();
>  }

This seems wrong. If you eval(), the eval code will run in the scope of its
containing function, and it will have an activation object as its scope.

> Source/JavaScriptCore/debugger/DebuggerScope.h:81
> +    Iterator begin();
> +    Iterator end();

"Iterator" should be lower case.


More information about the webkit-reviews mailing list