Bug 762473 - Don't apply non-reentrant-closure optimization when the scope is extensible (r=dvander)
This commit is contained in:
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user