Bug 23552

Summary: Dashcode evaluator no longer works after making ExecStates actual call frames
Product: WebKit Reporter: Cameron Zwarich (cpst) <zwarich>
Component: JavaScriptCoreAssignee: Cameron Zwarich (cpst) <zwarich>
Status: RESOLVED FIXED    
Severity: Normal CC: darin
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Attachments:
Description Flags
Proposed patch barraclough: review+

Cameron Zwarich (cpst)
Reported 2009-01-26 14:49:25 PST
Dashcode will crash and burn hard when using the evaluator because it saves a global call frame, even after global code has finished executing, and then uses this as a launching pad to execute new JS in the evaluator. The fix is to detect when Dashcode is attempting to do this and execute code from a global call frame instead.
Attachments
Proposed patch (12.13 KB, patch)
2009-01-26 15:02 PST, Cameron Zwarich (cpst)
barraclough: review+
Cameron Zwarich (cpst)
Comment 1 2009-01-26 15:02:55 PST
Created attachment 27052 [details] Proposed patch There is a Radar for this, I just don't know the number. I should probably put it in the ChangeLog. I noticed something odd with this patch -- the global scope chain's ref count never seems to decrease when using the evaluator. I don't see how this could have been caused by my patch, but I should figure out why this is happening after this patch lands and fix it.
Gavin Barraclough
Comment 2 2009-01-26 15:15:12 PST
The radar for this bug is rdar://problem/6398839
Cameron Zwarich (cpst)
Comment 3 2009-01-26 15:58:32 PST
Landed in r40274.
Note You need to log in before you can comment on or make changes to this bug.