Bug 76969

Summary: Make DFG update topCallFrame
Product: WebKit Reporter: Oliver Hunt <oliver>
Component: New BugsAssignee: Oliver Hunt <oliver>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch fpizlo: review+

Description Oliver Hunt 2012-01-24 17:53:10 PST
Make DFG update topCallFrame
Comment 1 Oliver Hunt 2012-01-24 17:56:09 PST
Created attachment 123861 [details]
Patch
Comment 2 Oliver Hunt 2012-01-24 17:57:48 PST
Created attachment 123862 [details]
Patch
Comment 3 Filip Pizlo 2012-01-25 11:40:32 PST
Comment on attachment 123862 [details]
Patch

r=me.
Comment 4 Oliver Hunt 2012-01-25 11:43:41 PST
Committed r105905: <http://trac.webkit.org/changeset/105905>
Comment 5 Geoffrey Garen 2012-01-25 11:44:43 PST
Comment on attachment 123862 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=123862&action=review

Can you post performance results?

> Source/JavaScriptCore/interpreter/Interpreter.h:91
> +    class NativeCallFrameTracer {
> +    public:
> +        ALWAYS_INLINE NativeCallFrameTracer(JSGlobalData* global, CallFrame* callFrame)
> +        {
> +            ASSERT(global);
> +            ASSERT(callFrame);
> +            global->topCallFrame = callFrame;
> +        }
> +    };

Is it OK that we don't reset topCallFrame on destruction? When do we need to reset it, and when can we skip that step?

I don't think the words "native" and "tracer" are clear enough to distinguish NativeCallFrameTracer from TopCallFrameSetter. Answers to the above questions can provide us with a better name.