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.
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.
The radar for this bug is rdar://problem/6398839
Landed in r40274.