diff options
Diffstat (limited to 'chromium/v8/src/parsing/preparsed-scope-data.cc')
-rw-r--r-- | chromium/v8/src/parsing/preparsed-scope-data.cc | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/chromium/v8/src/parsing/preparsed-scope-data.cc b/chromium/v8/src/parsing/preparsed-scope-data.cc index f73a61bfb6b..8d2ce2d1a55 100644 --- a/chromium/v8/src/parsing/preparsed-scope-data.cc +++ b/chromium/v8/src/parsing/preparsed-scope-data.cc @@ -101,16 +101,16 @@ void ProducedPreParsedScopeData::ByteData::WriteUint32(uint32_t data) { } void ProducedPreParsedScopeData::ByteData::OverwriteFirstUint32(uint32_t data) { - size_t position = 0; + auto it = backing_store_.begin(); #ifdef DEBUG // Check that that position already holds an item of the expected size. DCHECK_GE(backing_store_.size(), kUint32Size); - DCHECK_EQ(backing_store_[0], kUint32Size); - ++position; + DCHECK_EQ(*it, kUint32Size); + ++it; #endif const uint8_t* d = reinterpret_cast<uint8_t*>(&data); for (size_t i = 0; i < 4; ++i) { - backing_store_[position + i] = *d++; + *it++ = *d++; } } @@ -123,7 +123,7 @@ void ProducedPreParsedScopeData::ByteData::WriteUint8(uint8_t data) { } Handle<PodArray<uint8_t>> ProducedPreParsedScopeData::ByteData::Serialize( - Isolate* isolate) const { + Isolate* isolate) { Handle<PodArray<uint8_t>> array = PodArray<uint8_t>::New( isolate, static_cast<int>(backing_store_.size()), TENURED); @@ -193,7 +193,7 @@ void ProducedPreParsedScopeData::DataGatheringScope::MarkFunctionAsSkippable( produced_preparsed_scope_data_->parent_->AddSkippableFunction( function_scope_->start_position(), end_position, function_scope_->num_parameters(), num_inner_functions, - function_scope_->language_mode(), function_scope_->uses_super_property()); + function_scope_->language_mode(), function_scope_->NeedsHomeObject()); } void ProducedPreParsedScopeData::AddSkippableFunction( @@ -251,7 +251,7 @@ void ProducedPreParsedScopeData::SaveScopeAllocationData( } MaybeHandle<PreParsedScopeData> ProducedPreParsedScopeData::Serialize( - Isolate* isolate) const { + Isolate* isolate) { if (!previously_produced_preparsed_scope_data_.is_null()) { DCHECK(!bailed_out_); DCHECK_EQ(data_for_inner_functions_.size(), 0); @@ -336,12 +336,6 @@ bool ProducedPreParsedScopeData::ScopeIsSkippableFunctionScope(Scope* scope) { void ProducedPreParsedScopeData::SaveDataForScope(Scope* scope) { DCHECK_NE(scope->end_position(), kNoSourcePosition); - // We're not trying to save data for default constructors because the - // PreParser doesn't construct them. - DCHECK_IMPLIES(scope->scope_type() == ScopeType::FUNCTION_SCOPE, - (scope->AsDeclarationScope()->function_kind() & - kDefaultConstructor) == 0); - if (!ScopeNeedsData(scope)) { return; } |