Index: runtime/vm/flow_graph_builder.cc |
diff --git a/runtime/vm/flow_graph_builder.cc b/runtime/vm/flow_graph_builder.cc |
index 959b4101de2cb160970d48c8170208d5004be4c9..d4f1c09fbb96f4d89069f12a679f19a00267985a 100644 |
--- a/runtime/vm/flow_graph_builder.cc |
+++ b/runtime/vm/flow_graph_builder.cc |
@@ -46,7 +46,6 @@ DEFINE_FLAG(bool, |
"Trace type check elimination at compile time."); |
DECLARE_FLAG(bool, profile_vm); |
-DECLARE_FLAG(bool, support_externalizable_strings); |
// Quick access to the locally defined zone() method. |
#define Z (zone()) |
@@ -3178,14 +3177,10 @@ void EffectGraphVisitor::VisitNativeBodyNode(NativeBodyNode* node) { |
} |
case MethodRecognizer::kStringBaseLength: |
case MethodRecognizer::kStringBaseIsEmpty: { |
- // 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* load = BuildNativeGetter( |
node, MethodRecognizer::kStringBaseLength, String::length_offset(), |
Type::ZoneHandle(Z, Type::SmiType()), kSmiCid); |
- load->set_is_immutable(!FLAG_support_externalizable_strings); |
+ load->set_is_immutable(true); |
if (kind == MethodRecognizer::kStringBaseLength) { |
return ReturnDefinition(load); |
} |