Index: src/ast/scopeinfo.cc |
diff --git a/src/ast/scopeinfo.cc b/src/ast/scopeinfo.cc |
index cb7409a9d2c3f7cc38067791b616625cf62b805c..668879fe5129f63140dfee72ca9d64bad05d062f 100644 |
--- a/src/ast/scopeinfo.cc |
+++ b/src/ast/scopeinfo.cc |
@@ -49,6 +49,8 @@ Handle<ScopeInfo> ScopeInfo::Create(Isolate* isolate, Zone* zone, |
receiver_info = NONE; |
} |
+ bool has_new_target = scope->new_target_var() != nullptr; |
+ |
// Determine use and location of the function variable if it is present. |
VariableAllocationInfo function_name_info; |
VariableMode function_variable_mode; |
@@ -90,6 +92,7 @@ Handle<ScopeInfo> ScopeInfo::Create(Isolate* isolate, Zone* zone, |
LanguageModeField::encode(scope->language_mode()) | |
DeclarationScopeField::encode(scope->is_declaration_scope()) | |
ReceiverVariableField::encode(receiver_info) | |
+ HasNewTargetField::encode(has_new_target) | |
FunctionVariableField::encode(function_name_info) | |
FunctionVariableMode::encode(function_variable_mode) | |
AsmModuleField::encode(scope->asm_module()) | |
@@ -374,6 +377,9 @@ bool ScopeInfo::HasAllocatedReceiver() { |
} |
+bool ScopeInfo::HasNewTarget() { return HasNewTargetField::decode(Flags()); } |
+ |
+ |
bool ScopeInfo::HasFunctionName() { |
if (length() > 0) { |
return NONE != FunctionVariableField::decode(Flags()); |