summaryrefslogtreecommitdiff
path: root/chromium/v8/src/objects/shared-function-info-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/v8/src/objects/shared-function-info-inl.h')
-rw-r--r--chromium/v8/src/objects/shared-function-info-inl.h25
1 files changed, 15 insertions, 10 deletions
diff --git a/chromium/v8/src/objects/shared-function-info-inl.h b/chromium/v8/src/objects/shared-function-info-inl.h
index 9778db5d908..6023c3b8286 100644
--- a/chromium/v8/src/objects/shared-function-info-inl.h
+++ b/chromium/v8/src/objects/shared-function-info-inl.h
@@ -200,14 +200,13 @@ int SharedFunctionInfo::function_token_position() const {
}
}
-BIT_FIELD_ACCESSORS(SharedFunctionInfo, flags, is_wrapped,
- SharedFunctionInfo::IsWrappedBit)
+BIT_FIELD_ACCESSORS(SharedFunctionInfo, flags, syntax_kind,
+ SharedFunctionInfo::FunctionSyntaxKindBits)
+
BIT_FIELD_ACCESSORS(SharedFunctionInfo, flags, allows_lazy_compilation,
SharedFunctionInfo::AllowLazyCompilationBit)
BIT_FIELD_ACCESSORS(SharedFunctionInfo, flags, has_duplicate_parameters,
SharedFunctionInfo::HasDuplicateParametersBit)
-BIT_FIELD_ACCESSORS(SharedFunctionInfo, flags, is_declaration,
- SharedFunctionInfo::IsDeclarationBit)
BIT_FIELD_ACCESSORS(SharedFunctionInfo, flags, native,
SharedFunctionInfo::IsNativeBit)
@@ -219,13 +218,9 @@ BIT_FIELD_ACCESSORS(SharedFunctionInfo, flags,
BIT_FIELD_ACCESSORS(SharedFunctionInfo, flags, name_should_print_as_anonymous,
SharedFunctionInfo::NameShouldPrintAsAnonymousBit)
-BIT_FIELD_ACCESSORS(SharedFunctionInfo, flags, is_anonymous_expression,
- SharedFunctionInfo::IsAnonymousExpressionBit)
BIT_FIELD_ACCESSORS(SharedFunctionInfo, flags, has_reported_binary_coverage,
SharedFunctionInfo::HasReportedBinaryCoverageBit)
-BIT_FIELD_ACCESSORS(SharedFunctionInfo, flags, is_named_expression,
- SharedFunctionInfo::IsNamedExpressionBit)
BIT_FIELD_ACCESSORS(SharedFunctionInfo, flags, is_toplevel,
SharedFunctionInfo::IsTopLevelBit)
BIT_FIELD_ACCESSORS(SharedFunctionInfo, flags,
@@ -271,6 +266,10 @@ void SharedFunctionInfo::set_kind(FunctionKind kind) {
UpdateFunctionMapIndex();
}
+bool SharedFunctionInfo::is_wrapped() const {
+ return syntax_kind() == FunctionSyntaxKind::kWrapped;
+}
+
bool SharedFunctionInfo::needs_home_object() const {
return NeedsHomeObjectBit::decode(flags());
}
@@ -359,6 +358,11 @@ void SharedFunctionInfo::set_scope_info(ScopeInfo scope_info,
if (HasInferredName() && inferred_name().length() != 0) {
scope_info.SetInferredFunctionName(inferred_name());
}
+ set_raw_scope_info(scope_info, mode);
+}
+
+void SharedFunctionInfo::set_raw_scope_info(ScopeInfo scope_info,
+ WriteBarrierMode mode) {
WRITE_FIELD(*this, kNameOrScopeInfoOffset, scope_info);
CONDITIONAL_WRITE_BARRIER(*this, kNameOrScopeInfoOffset, scope_info, mode);
}
@@ -572,7 +576,8 @@ UncompiledData SharedFunctionInfo::uncompiled_data() const {
}
void SharedFunctionInfo::set_uncompiled_data(UncompiledData uncompiled_data) {
- DCHECK(function_data() == Smi::FromEnum(Builtins::kCompileLazy));
+ DCHECK(function_data() == Smi::FromEnum(Builtins::kCompileLazy) ||
+ HasUncompiledData());
DCHECK(uncompiled_data.IsUncompiledData());
set_function_data(uncompiled_data);
}
@@ -622,7 +627,7 @@ void SharedFunctionInfo::ClearPreparseData() {
data.address() + UncompiledDataWithoutPreparseData::kSize,
UncompiledDataWithPreparseData::kSize -
UncompiledDataWithoutPreparseData::kSize,
- ClearRecordedSlots::kNo);
+ ClearRecordedSlots::kYes);
// Ensure that the clear was successful.
DCHECK(HasUncompiledDataWithoutPreparseData());