Bug 762473 - Don't apply non-reentrant-closure optimization when the scope is extensible (r=dvander)

This commit is contained in:
Luke Wagner
2012-06-07 20:03:18 -07:00
parent a2e1cfde53
commit d4c1dcecca
6 changed files with 67 additions and 1 deletions

View File

@@ -34,6 +34,13 @@ MarkInnerAndOuterFunctions(JSContext *cx, JSScript* script_)
JSScript *outer = worklist.back();
worklist.popBack();
/*
* If outer has an extensible scope, its slots may be resized which
* will invalidate nesting->varArray/argArray.
*/
if (outer->funHasExtensibleScope)
continue;
if (outer->hasObjects()) {
ObjectArray *arr = outer->objects();