summaryrefslogtreecommitdiffstats
path: root/js/src/frontend/Parser.cpp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 01:53:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 01:53:14 +0000
commit7300995d7647085f97dc32643f1eefd0c33c6050 (patch)
tree2b891915a578113eb0f08fa04125fa2844c94c12 /js/src/frontend/Parser.cpp
parentAdding upstream version 125.0.2. (diff)
downloadfirefox-7300995d7647085f97dc32643f1eefd0c33c6050.tar.xz
firefox-7300995d7647085f97dc32643f1eefd0c33c6050.zip
Adding upstream version 125.0.3.upstream/125.0.3
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
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);
}