Chromium Code Reviews| Index: runtime/vm/ast_transformer.cc |
| diff --git a/runtime/vm/ast_transformer.cc b/runtime/vm/ast_transformer.cc |
| index 11cb61cabb661db8f66a1726ff8b1e2bf130c74a..276c8d73dd081fb80f1d35c8abcec3ecff08400a 100644 |
| --- a/runtime/vm/ast_transformer.cc |
| +++ b/runtime/vm/ast_transformer.cc |
| @@ -62,7 +62,7 @@ AstNode* AwaitTransformer::Transform(AstNode* expr) { |
| LocalVariable* AwaitTransformer::EnsureCurrentTempVar() { |
| - const char* await_temp_prefix = ":await_temp_var_"; |
| + const char* await_temp_prefix = Symbols::AwaitTempVarPrefix().ToCString(); |
|
hausner
2015/09/02 22:07:55
Does it make sense to define this string constant
regis
2015/09/03 01:28:03
Done.
srdjan
2015/09/03 01:50:47
This is problematic as it allocates a String in th
regis
2015/09/03 16:48:38
The previous version also allocates a new string,
|
| const String& cnt_str = String::ZoneHandle( |
| Z, String::NewFormatted("%s%d", await_temp_prefix, temp_cnt_)); |
| const String& symbol = String::ZoneHandle(Z, Symbols::New(cnt_str)); |
| @@ -136,8 +136,8 @@ void AwaitTransformer::VisitAwaitNode(AwaitNode* node) { |
| AstNode* transformed_expr = Transform(node->expr()); |
| LocalVariable* await_temp = AddToPreambleNewTempVar(transformed_expr); |
| - AwaitMarkerNode* await_marker = new (Z) AwaitMarkerNode(); |
| - await_marker->set_scope(preamble_->scope()); |
| + AwaitMarkerNode* await_marker = |
| + new (Z) AwaitMarkerNode(function_top_, node->scope()); |
| preamble_->Add(await_marker); |
| // :result_param = _awaitHelper( |