summaryrefslogtreecommitdiffstats
path: root/js/src/frontend/Parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/frontend/Parser.cpp')
-rw-r--r--js/src/frontend/Parser.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/js/src/frontend/Parser.cpp b/js/src/frontend/Parser.cpp
index 5cb47f2425..cd586ad2a7 100644
--- a/js/src/frontend/Parser.cpp
+++ b/js/src/frontend/Parser.cpp
@@ -10949,6 +10949,12 @@ GeneralParser<ParseHandler, Unit>::memberPropertyAccess(
if (handler_.isArgumentsName(lhs) && handler_.isLengthName(name)) {
MOZ_ASSERT(pc_->numberOfArgumentsNames > 0);
pc_->numberOfArgumentsNames--;
+ // Currently when resuming Generators don't get their argument length set
+ // in the interpreter frame (see InterpreterStack::resumeGeneratorCallFrame,
+ // and its call to initCallFrame).
+ if (pc_->isGeneratorOrAsync()) {
+ pc_->sc()->setIneligibleForArgumentsLength();
+ }
return handler_.newArgumentsLength(lhs, name);
}