Index: runtime/vm/intermediate_language.cc |
diff --git a/runtime/vm/intermediate_language.cc b/runtime/vm/intermediate_language.cc |
index 8b23f064021a276b5616da96d985e280b2d47f6c..723b1ab426a0d55598e419f025fe101917102f1f 100644 |
--- a/runtime/vm/intermediate_language.cc |
+++ b/runtime/vm/intermediate_language.cc |
@@ -3052,8 +3052,8 @@ void InstanceCallInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
ASSERT(call_ic_data->NumArgsTested() == 2); |
const String& name = String::Handle(zone, call_ic_data->target_name()); |
const Class& smi_class = Class::Handle(zone, Smi::Class()); |
- const Function& smi_op_target = |
- Function::Handle(Resolver::ResolveDynamicAnyArgs(smi_class, name)); |
+ const Function& smi_op_target = Function::Handle(zone, |
+ Resolver::ResolveDynamicAnyArgs(zone, smi_class, name)); |
if (call_ic_data->NumberOfChecks() == 0) { |
GrowableArray<intptr_t> class_ids(2); |
class_ids.Add(kSmiCid); |
@@ -3480,7 +3480,8 @@ Definition* StringInterpolateInstr::Canonicalize(FlowGraph* flow_graph) { |
return this; |
} |
const intptr_t length = Smi::Cast(num_elements->BoundConstant()).Value(); |
- Zone* zone = Thread::Current()->zone(); |
+ Thread* thread = Thread::Current(); |
+ Zone* zone = thread->zone(); |
GrowableHandlePtrArray<const String> pieces(zone, length); |
for (intptr_t i = 0; i < length; i++) { |
pieces.Add(Object::null_string()); |
@@ -3508,7 +3509,7 @@ Definition* StringInterpolateInstr::Canonicalize(FlowGraph* flow_graph) { |
pieces.SetAt(store_index, String::Cast(obj)); |
} else if (obj.IsSmi()) { |
const char* cstr = obj.ToCString(); |
- pieces.SetAt(store_index, String::Handle(zone, Symbols::New(cstr))); |
+ pieces.SetAt(store_index, String::Handle(zone, String::New(cstr))); |
} else if (obj.IsBool()) { |
pieces.SetAt(store_index, |
Bool::Cast(obj).value() ? Symbols::True() : Symbols::False()); |
@@ -3522,9 +3523,8 @@ Definition* StringInterpolateInstr::Canonicalize(FlowGraph* flow_graph) { |
} |
} |
- ASSERT(pieces.length() == length); |
const String& concatenated = String::ZoneHandle(zone, |
- Symbols::FromConcatAll(pieces)); |
+ Symbols::FromConcatAll(thread, pieces)); |
return flow_graph->GetConstant(concatenated); |
} |