| 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/locations.h" | 5 #include "vm/locations.h" |
| 6 | 6 |
| 7 #include "vm/assembler.h" | 7 #include "vm/assembler.h" |
| 8 #include "vm/il_printer.h" | 8 #include "vm/il_printer.h" |
| 9 #include "vm/intermediate_language.h" | 9 #include "vm/intermediate_language.h" |
| 10 #include "vm/flow_graph_compiler.h" | 10 #include "vm/flow_graph_compiler.h" |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 // TODO(johnmccutchan): Remove this assertion once support for multiple | 64 // TODO(johnmccutchan): Remove this assertion once support for multiple |
| 65 // outputs is complete. | 65 // outputs is complete. |
| 66 ASSERT(output_count == 1); | 66 ASSERT(output_count == 1); |
| 67 for (intptr_t i = 0; i < output_count; i++) { | 67 for (intptr_t i = 0; i < output_count; i++) { |
| 68 output_locations_.Add(Location()); | 68 output_locations_.Add(Location()); |
| 69 } | 69 } |
| 70 } | 70 } |
| 71 | 71 |
| 72 | 72 |
| 73 LocationSummary* LocationSummary::Make( | 73 LocationSummary* LocationSummary::Make( |
| 74 Isolate* isolate, |
| 74 intptr_t input_count, | 75 intptr_t input_count, |
| 75 Location out, | 76 Location out, |
| 76 LocationSummary::ContainsCall contains_call) { | 77 LocationSummary::ContainsCall contains_call) { |
| 77 LocationSummary* summary = new LocationSummary( | 78 LocationSummary* summary = new(isolate) LocationSummary( |
| 78 Isolate::Current(), input_count, 0, contains_call); | 79 isolate, input_count, 0, contains_call); |
| 79 for (intptr_t i = 0; i < input_count; i++) { | 80 for (intptr_t i = 0; i < input_count; i++) { |
| 80 summary->set_in(i, Location::RequiresRegister()); | 81 summary->set_in(i, Location::RequiresRegister()); |
| 81 } | 82 } |
| 82 summary->set_out(0, out); | 83 summary->set_out(0, out); |
| 83 return summary; | 84 return summary; |
| 84 } | 85 } |
| 85 | 86 |
| 86 | 87 |
| 87 Location Location::Pair(Location first, Location second) { | 88 Location Location::Pair(Location first, Location second) { |
| 88 PairLocation* pair_location = new PairLocation(); | 89 PairLocation* pair_location = new PairLocation(); |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 | 271 |
| 271 if (!out(0).IsInvalid()) { | 272 if (!out(0).IsInvalid()) { |
| 272 f->Print(" => "); | 273 f->Print(" => "); |
| 273 out(0).PrintTo(f); | 274 out(0).PrintTo(f); |
| 274 } | 275 } |
| 275 | 276 |
| 276 if (always_calls()) f->Print(" C"); | 277 if (always_calls()) f->Print(" C"); |
| 277 } | 278 } |
| 278 | 279 |
| 279 } // namespace dart | 280 } // namespace dart |
| OLD | NEW |