Index: runtime/vm/flow_graph_builder.cc |
diff --git a/runtime/vm/flow_graph_builder.cc b/runtime/vm/flow_graph_builder.cc |
index c9e02e7c683fc4b3893c9fa30c1fe13de30d6914..9ed3c08402dd39f7e96b71520b482c8fafb54d63 100644 |
--- a/runtime/vm/flow_graph_builder.cc |
+++ b/runtime/vm/flow_graph_builder.cc |
@@ -40,6 +40,7 @@ DEFINE_FLAG(bool, trace_type_check_elimination, false, |
"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()) |
@@ -3468,6 +3469,7 @@ void EffectGraphVisitor::VisitNativeBodyNode(NativeBodyNode* node) { |
LoadFieldInstr* load = BuildNativeGetter( |
node, MethodRecognizer::kStringBaseLength, String::length_offset(), |
Type::ZoneHandle(Z, Type::SmiType()), kSmiCid); |
+ load->set_is_immutable(!FLAG_support_externalizable_strings); |
if (kind == MethodRecognizer::kStringBaseLength) { |
return ReturnDefinition(load); |
} |