OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #include "vm/flow_graph_inliner.h" | 5 #include "vm/flow_graph_inliner.h" |
6 | 6 |
7 #include "vm/block_scheduler.h" | 7 #include "vm/block_scheduler.h" |
8 #include "vm/compiler.h" | 8 #include "vm/compiler.h" |
9 #include "vm/flags.h" | 9 #include "vm/flags.h" |
10 #include "vm/flow_graph.h" | 10 #include "vm/flow_graph.h" |
(...skipping 1202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1213 for (intptr_t i = 0; i < param_count - fixed_param_count; ++i) { | 1213 for (intptr_t i = 0; i < param_count - fixed_param_count; ++i) { |
1214 arguments->Add(NULL); | 1214 arguments->Add(NULL); |
1215 param_stubs->Add(GetDefaultValue(i, parsed_function)); | 1215 param_stubs->Add(GetDefaultValue(i, parsed_function)); |
1216 } | 1216 } |
1217 return true; | 1217 return true; |
1218 } | 1218 } |
1219 | 1219 |
1220 // Otherwise, build a collection of name/argument pairs. | 1220 // Otherwise, build a collection of name/argument pairs. |
1221 GrowableArray<NamedArgument> named_args(argument_names_count); | 1221 GrowableArray<NamedArgument> named_args(argument_names_count); |
1222 for (intptr_t i = 0; i < argument_names.Length(); ++i) { | 1222 for (intptr_t i = 0; i < argument_names.Length(); ++i) { |
1223 String& arg_name = String::Handle(Isolate::Current()); | 1223 String& arg_name = String::Handle(caller_graph_->zone()); |
1224 arg_name ^= argument_names.At(i); | 1224 arg_name ^= argument_names.At(i); |
1225 named_args.Add( | 1225 named_args.Add( |
1226 NamedArgument(&arg_name, (*arguments)[i + fixed_param_count])); | 1226 NamedArgument(&arg_name, (*arguments)[i + fixed_param_count])); |
1227 } | 1227 } |
1228 | 1228 |
1229 // Truncate the arguments array to just fixed parameters. | 1229 // Truncate the arguments array to just fixed parameters. |
1230 arguments->TruncateTo(fixed_param_count); | 1230 arguments->TruncateTo(fixed_param_count); |
1231 | 1231 |
1232 // For each optional named parameter, add the actual argument or its | 1232 // For each optional named parameter, add the actual argument or its |
1233 // default if no argument is passed. | 1233 // default if no argument is passed. |
(...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1884 intptr_t FlowGraphInliner::NextInlineId(const Function& function, | 1884 intptr_t FlowGraphInliner::NextInlineId(const Function& function, |
1885 intptr_t parent_id) { | 1885 intptr_t parent_id) { |
1886 const intptr_t id = inline_id_to_function_->length(); | 1886 const intptr_t id = inline_id_to_function_->length(); |
1887 inline_id_to_function_->Add(&function); | 1887 inline_id_to_function_->Add(&function); |
1888 caller_inline_id_->Add(parent_id); | 1888 caller_inline_id_->Add(parent_id); |
1889 return id; | 1889 return id; |
1890 } | 1890 } |
1891 | 1891 |
1892 | 1892 |
1893 } // namespace dart | 1893 } // namespace dart |
OLD | NEW |