summaryrefslogtreecommitdiff
path: root/chromium/v8/src/ast/ast.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/v8/src/ast/ast.cc')
-rw-r--r--chromium/v8/src/ast/ast.cc12
1 files changed, 5 insertions, 7 deletions
diff --git a/chromium/v8/src/ast/ast.cc b/chromium/v8/src/ast/ast.cc
index 9987eb28449..4b6c4805ded 100644
--- a/chromium/v8/src/ast/ast.cc
+++ b/chromium/v8/src/ast/ast.cc
@@ -122,6 +122,10 @@ bool Expression::IsUndefinedLiteral() const {
var_proxy->raw_name()->IsOneByteEqualTo("undefined");
}
+bool Expression::IsLiteralButNotNullOrUndefined() const {
+ return IsLiteral() && !IsNullOrUndefinedLiteral();
+}
+
bool Expression::ToBooleanIsTrue() const {
return IsLiteral() && AsLiteral()->ToBooleanIsTrue();
}
@@ -217,13 +221,7 @@ bool FunctionLiteral::AllowsLazyCompilation() {
}
bool FunctionLiteral::SafeToSkipArgumentsAdaptor() const {
- // TODO(bmeurer,verwaest): The --fast_calls_with_arguments_mismatches
- // is mostly here for checking the real-world impact of the calling
- // convention. There's not really a point in turning off this flag
- // otherwise, so we should remove it at some point, when we're done
- // with the experiments (https://crbug.com/v8/8895).
- return FLAG_fast_calls_with_arguments_mismatches &&
- language_mode() == LanguageMode::kStrict &&
+ return language_mode() == LanguageMode::kStrict &&
scope()->arguments() == nullptr &&
scope()->rest_parameter() == nullptr;
}