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 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 for (intptr_t i = 0; i < kFirstFreeCpuRegister; i++) { | 98 for (intptr_t i = 0; i < kFirstFreeCpuRegister; i++) { |
99 blocked_cpu_registers_[i] = true; | 99 blocked_cpu_registers_[i] = true; |
100 } | 100 } |
101 for (intptr_t i = kLastFreeCpuRegister + 1; i < kNumberOfCpuRegisters; i++) { | 101 for (intptr_t i = kLastFreeCpuRegister + 1; i < kNumberOfCpuRegisters; i++) { |
102 blocked_cpu_registers_[i] = true; | 102 blocked_cpu_registers_[i] = true; |
103 } | 103 } |
104 blocked_cpu_registers_[CTX] = true; | 104 blocked_cpu_registers_[CTX] = true; |
105 if (TMP != kNoRegister) { | 105 if (TMP != kNoRegister) { |
106 blocked_cpu_registers_[TMP] = true; | 106 blocked_cpu_registers_[TMP] = true; |
107 } | 107 } |
| 108 if (TMP2 != kNoRegister) { |
| 109 blocked_cpu_registers_[TMP2] = true; |
| 110 } |
108 if (PP != kNoRegister) { | 111 if (PP != kNoRegister) { |
109 blocked_cpu_registers_[PP] = true; | 112 blocked_cpu_registers_[PP] = true; |
110 } | 113 } |
111 blocked_cpu_registers_[SPREG] = true; | 114 blocked_cpu_registers_[SPREG] = true; |
112 blocked_cpu_registers_[FPREG] = true; | 115 blocked_cpu_registers_[FPREG] = true; |
113 | 116 |
114 // FpuTMP is used as scratch by optimized code and parallel move resolver. | 117 // FpuTMP is used as scratch by optimized code and parallel move resolver. |
115 blocked_fpu_registers_[FpuTMP] = true; | 118 blocked_fpu_registers_[FpuTMP] = true; |
116 } | 119 } |
117 | 120 |
(...skipping 2663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2781 OS::Print("-- [after ssa allocator] ir [%s] -------------\n", | 2784 OS::Print("-- [after ssa allocator] ir [%s] -------------\n", |
2782 function.ToFullyQualifiedCString()); | 2785 function.ToFullyQualifiedCString()); |
2783 FlowGraphPrinter printer(flow_graph_, true); | 2786 FlowGraphPrinter printer(flow_graph_, true); |
2784 printer.PrintBlocks(); | 2787 printer.PrintBlocks(); |
2785 OS::Print("----------------------------------------------\n"); | 2788 OS::Print("----------------------------------------------\n"); |
2786 } | 2789 } |
2787 } | 2790 } |
2788 | 2791 |
2789 | 2792 |
2790 } // namespace dart | 2793 } // namespace dart |
OLD | NEW |