summaryrefslogtreecommitdiff
path: root/chromium/v8/src/parsing/preparsed-scope-data.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/v8/src/parsing/preparsed-scope-data.cc')
-rw-r--r--chromium/v8/src/parsing/preparsed-scope-data.cc20
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;
}