Chromium Code Reviews| Index: runtime/vm/kernel_binary_flowgraph.cc |
| diff --git a/runtime/vm/kernel_binary_flowgraph.cc b/runtime/vm/kernel_binary_flowgraph.cc |
| index c23d8be0dc83815deabec22729dc97e26172ebdb..4c78fbf827b86b4b4c63a2a91c9a03dcb0d2b656 100644 |
| --- a/runtime/vm/kernel_binary_flowgraph.cc |
| +++ b/runtime/vm/kernel_binary_flowgraph.cc |
| @@ -60,8 +60,7 @@ Instance& StreamingConstantEvaluator::EvaluateExpression() { |
| void StreamingConstantEvaluator::EvaluateStaticGet() { |
| builder_->ReadPosition(); |
| - int canonical_name_index = builder_->ReadUInt(); |
| - CanonicalName* target = builder_->GetCanonicalName(canonical_name_index); |
| + intptr_t target = builder_->ReadUInt() - 1; |
|
Vyacheslav Egorov (Google)
2017/05/03 06:28:48
might be worth having a helper called ReadCanonica
|
| if (H.IsField(target)) { |
| const dart::Field& field = |
| @@ -311,84 +310,6 @@ Fragment StreamingFlowGraphBuilder::BuildAt(intptr_t kernel_offset) { |
| } |
| -CanonicalName* StreamingFlowGraphBuilder::GetCanonicalName(intptr_t index) { |
| - if (index == 0) return NULL; |
| - --index; |
| - |
| - if (canonical_names_ != NULL && canonical_names_entries_read_ > index) { |
| - return canonical_names_[index]; |
| - } |
| - |
| - intptr_t saved_offset = ReaderOffset(); |
| - if (canonical_names_ == NULL) { |
| - // Find offset from where to read canonical names table. |
| - |
| - // Skip the magic number. |
| - reader_->set_offset(4); |
| - |
| - // Skip the string table. The last offset is the end offset of the last |
| - // string which gives the length of the string data. |
| - intptr_t list_length = ReadListLength(); |
| - intptr_t end_offset = 0; |
| - for (intptr_t i = 0; i < list_length; ++i) { |
| - end_offset = ReadUInt(); |
| - } |
| - SkipBytes(end_offset); |
| - |
| - // There is another string table for the source URIs. Skip it as well. |
| - list_length = ReadListLength(); |
| - end_offset = 0; |
| - for (intptr_t i = 0; i < list_length; ++i) { |
| - end_offset = ReadUInt(); |
| - } |
| - SkipBytes(end_offset); |
| - |
| - // Source code table |
| - for (intptr_t i = 0; i < list_length; ++i) { |
| - // Source code |
| - intptr_t bytes = ReadUInt(); |
| - SkipBytes(bytes); |
| - |
| - // Line starts table |
| - intptr_t line_count = ReadUInt(); |
| - for (intptr_t j = 0; j < line_count; ++j) { |
| - ReadUInt(); |
| - } |
| - } |
| - |
| - // Now at canonical names table. |
| - canonical_names_size_ = ReadUInt(); |
| - canonical_names_ = new CanonicalName*[canonical_names_size_]; |
| - canonical_names_next_offset_ = ReaderOffset(); |
| - } |
| - |
| - SetOffset(canonical_names_next_offset_); |
| - for (; canonical_names_entries_read_ <= index; |
| - ++canonical_names_entries_read_) { |
| - intptr_t biased_parent_index = ReadUInt(); |
| - CanonicalName* parent; |
| - if (biased_parent_index != 0) { |
| - parent = canonical_names_[biased_parent_index - 1]; |
| - } else { |
| - if (canonical_names_entries_read_ == 0) { |
| - parent = CanonicalName::NewRoot(); |
| - } else { |
| - parent = canonical_names_[0]->parent(); |
| - } |
| - } |
| - ASSERT(parent != NULL); |
| - intptr_t name_index = ReadUInt(); |
| - CanonicalName* canonical_name = parent->AddChild(name_index); |
| - canonical_names_[canonical_names_entries_read_] = canonical_name; |
| - } |
| - |
| - canonical_names_next_offset_ = ReaderOffset(); |
| - |
| - SetOffset(saved_offset); |
| - return canonical_names_[index]; |
| -} |
| - |
| - |
| intptr_t StreamingFlowGraphBuilder::ReaderOffset() { |
| return reader_->offset(); |
| } |
| @@ -498,8 +419,7 @@ Fragment StreamingFlowGraphBuilder::BuildInvalidExpression() { |
| Fragment StreamingFlowGraphBuilder::BuildStaticGet() { |
| intptr_t saved_offset = ReaderOffset() - 1; // Include the tag. |
| TokenPosition position = ReadPosition(); |
| - int canonical_name_index = ReadUInt(); |
| - CanonicalName* target = GetCanonicalName(canonical_name_index); |
| + intptr_t target = ReadUInt() - 1; |
|
Vyacheslav Egorov (Google)
2017/05/03 06:28:48
ditto
|
| if (H.IsField(target)) { |
| const dart::Field& field = |