Index: runtime/vm/flow_graph_inliner.cc |
diff --git a/runtime/vm/flow_graph_inliner.cc b/runtime/vm/flow_graph_inliner.cc |
index 8e10ce1e082e5346f70597d8ff9dc740a4a57071..b8f8fb4327f4c0b02ce5b81f41ad8d81e2792baa 100644 |
--- a/runtime/vm/flow_graph_inliner.cc |
+++ b/runtime/vm/flow_graph_inliner.cc |
@@ -98,7 +98,6 @@ DECLARE_FLAG(bool, compiler_stats); |
DECLARE_FLAG(int, max_deoptimization_counter_threshold); |
DECLARE_FLAG(bool, print_flow_graph); |
DECLARE_FLAG(bool, print_flow_graph_optimized); |
-DECLARE_FLAG(bool, support_externalizable_strings); |
DECLARE_FLAG(bool, verify_compiler); |
// Quick access to the current zone. |
@@ -2730,15 +2729,11 @@ static Definition* PrepareInlineStringIndexOp(FlowGraph* flow_graph, |
Definition* str, |
Definition* index, |
Instruction* cursor) { |
- // Load the length of the string. |
- // Treat length loads as mutable (i.e. affected by side effects) to avoid |
- // hoisting them since we can't hoist the preceding class-check. This |
- // is because of externalization of strings that affects their class-id. |
LoadFieldInstr* length = new (Z) |
LoadFieldInstr(new (Z) Value(str), String::length_offset(), |
Type::ZoneHandle(Z, Type::SmiType()), str->token_pos()); |
length->set_result_cid(kSmiCid); |
- length->set_is_immutable(!FLAG_support_externalizable_strings); |
+ length->set_is_immutable(true); |
length->set_recognized_kind(MethodRecognizer::kStringBaseLength); |
cursor = flow_graph->AppendTo(cursor, length, NULL, FlowGraph::kValue); |