Force arguments object allocation on dynamic name accesses

Issue #1547
This commit is contained in:
janekptacijarabaci
2017-12-18 13:11:06 +01:00
committed by Roy Tam
parent 90c491ebc3
commit ee60c0ba2b
14 changed files with 6 additions and 212 deletions
-6
View File
@@ -72,15 +72,9 @@ CheckArgumentsWithinEval(JSContext* cx, Parser<FullParseHandler>& parser, Handle
return false;
}
// Force construction of arguments objects for functions that use
// |arguments| within an eval.
RootedScript script(cx, fun->getOrCreateScript(cx));
if (!script)
return false;
if (script->argumentsHasVarBinding()) {
if (!JSScript::argumentsOptimizationFailed(cx, script))
return false;
}
// It's an error to use |arguments| in a legacy generator expression.
if (script->isGeneratorExp() && script->isLegacyGenerator()) {