Chromium Code Reviews| 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_allocator.h" | 5 #include "vm/flow_graph_allocator.h" |
| 6 | 6 |
| 7 #include "vm/bit_vector.h" | 7 #include "vm/bit_vector.h" |
| 8 #include "vm/intermediate_language.h" | 8 #include "vm/intermediate_language.h" |
| 9 #include "vm/il_printer.h" | 9 #include "vm/il_printer.h" |
| 10 #include "vm/flow_graph.h" | 10 #include "vm/flow_graph.h" |
| (...skipping 2169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2180 UNREACHABLE(); | 2180 UNREACHABLE(); |
| 2181 } | 2181 } |
| 2182 } | 2182 } |
| 2183 | 2183 |
| 2184 | 2184 |
| 2185 #if defined(DEBUG) | 2185 #if defined(DEBUG) |
| 2186 bool FlowGraphAllocator::UnallocatedIsSorted() { | 2186 bool FlowGraphAllocator::UnallocatedIsSorted() { |
| 2187 for (intptr_t i = unallocated_.length() - 1; i >= 1; i--) { | 2187 for (intptr_t i = unallocated_.length() - 1; i >= 1; i--) { |
| 2188 LiveRange* a = unallocated_[i]; | 2188 LiveRange* a = unallocated_[i]; |
| 2189 LiveRange* b = unallocated_[i - 1]; | 2189 LiveRange* b = unallocated_[i - 1]; |
| 2190 if (!ShouldBeAllocatedBefore(a, b)) return false; | 2190 if (!ShouldBeAllocatedBefore(a, b)) { |
| 2191 ASSERT(false); | |
|
Kevin Millikin (Google)
2013/05/01 15:36:25
This is unintentional. I will remove it.
Florian Schneider
2013/05/03 10:41:36
I think this is actually useful for debugging here
Kevin Millikin (Google)
2013/05/03 11:47:38
OK, UNREACHABLE() it is.
| |
| 2192 return false; | |
| 2193 } | |
| 2191 } | 2194 } |
| 2192 return true; | 2195 return true; |
| 2193 } | 2196 } |
| 2194 #endif | 2197 #endif |
| 2195 | 2198 |
| 2196 | 2199 |
| 2197 void FlowGraphAllocator::PrepareForAllocation( | 2200 void FlowGraphAllocator::PrepareForAllocation( |
| 2198 Location::Kind register_kind, | 2201 Location::Kind register_kind, |
| 2199 intptr_t number_of_registers, | 2202 intptr_t number_of_registers, |
| 2200 const GrowableArray<LiveRange*>& unallocated, | 2203 const GrowableArray<LiveRange*>& unallocated, |
| (...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2497 OS::Print("-- [after ssa allocator] ir [%s] -------------\n", | 2500 OS::Print("-- [after ssa allocator] ir [%s] -------------\n", |
| 2498 function.ToFullyQualifiedCString()); | 2501 function.ToFullyQualifiedCString()); |
| 2499 FlowGraphPrinter printer(flow_graph_, true); | 2502 FlowGraphPrinter printer(flow_graph_, true); |
| 2500 printer.PrintBlocks(); | 2503 printer.PrintBlocks(); |
| 2501 OS::Print("----------------------------------------------\n"); | 2504 OS::Print("----------------------------------------------\n"); |
| 2502 } | 2505 } |
| 2503 } | 2506 } |
| 2504 | 2507 |
| 2505 | 2508 |
| 2506 } // namespace dart | 2509 } // namespace dart |
| OLD | NEW |