Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(384)

Side by Side Diff: runtime/vm/flow_graph_optimizer.cc

Issue 1528873002: VM: Use read-only handle Object::dynamic_type() where possible. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/flow_graph_compiler_x64.cc ('k') | runtime/vm/flow_graph_type_propagator.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/flow_graph_optimizer.h" 5 #include "vm/flow_graph_optimizer.h"
6 6
7 #include "vm/bit_vector.h" 7 #include "vm/bit_vector.h"
8 #include "vm/cha.h" 8 #include "vm/cha.h"
9 #include "vm/compiler.h" 9 #include "vm/compiler.h"
10 #include "vm/cpu.h" 10 #include "vm/cpu.h"
(...skipping 1708 matching lines...) Expand 10 before | Expand all | Expand 10 after
1719 call->deopt_id()), 1719 call->deopt_id()),
1720 call->env(), 1720 call->env(),
1721 FlowGraph::kEffect); 1721 FlowGraph::kEffect);
1722 1722
1723 if (array_cid == kGrowableObjectArrayCid) { 1723 if (array_cid == kGrowableObjectArrayCid) {
1724 // Insert data elements load. 1724 // Insert data elements load.
1725 LoadFieldInstr* elements = 1725 LoadFieldInstr* elements =
1726 new(Z) LoadFieldInstr( 1726 new(Z) LoadFieldInstr(
1727 new(Z) Value(*array), 1727 new(Z) Value(*array),
1728 GrowableObjectArray::data_offset(), 1728 GrowableObjectArray::data_offset(),
1729 Type::ZoneHandle(Z, Type::DynamicType()), 1729 Object::dynamic_type(),
1730 call->token_pos()); 1730 call->token_pos());
1731 elements->set_result_cid(kArrayCid); 1731 elements->set_result_cid(kArrayCid);
1732 *cursor = flow_graph()->AppendTo(*cursor, 1732 *cursor = flow_graph()->AppendTo(*cursor,
1733 elements, 1733 elements,
1734 NULL, 1734 NULL,
1735 FlowGraph::kValue); 1735 FlowGraph::kValue);
1736 // Load from the data from backing store which is a fixed-length array. 1736 // Load from the data from backing store which is a fixed-length array.
1737 *array = elements; 1737 *array = elements;
1738 array_cid = kArrayCid; 1738 array_cid = kArrayCid;
1739 } else if (RawObject::IsExternalTypedDataClassId(array_cid)) { 1739 } else if (RawObject::IsExternalTypedDataClassId(array_cid)) {
(...skipping 7113 matching lines...) Expand 10 before | Expand all | Expand 10 after
8853 8853
8854 // Insert materializations at environment uses. 8854 // Insert materializations at environment uses.
8855 for (intptr_t i = 0; i < exits_collector_.exits().length(); i++) { 8855 for (intptr_t i = 0; i < exits_collector_.exits().length(); i++) {
8856 CreateMaterializationAt( 8856 CreateMaterializationAt(
8857 exits_collector_.exits()[i], alloc, *slots); 8857 exits_collector_.exits()[i], alloc, *slots);
8858 } 8858 }
8859 } 8859 }
8860 8860
8861 8861
8862 } // namespace dart 8862 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_compiler_x64.cc ('k') | runtime/vm/flow_graph_type_propagator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698