| Index: runtime/vm/flow_graph_allocator.cc
|
| diff --git a/runtime/vm/flow_graph_allocator.cc b/runtime/vm/flow_graph_allocator.cc
|
| index 208a4afbd8e8de0a726326ce18bb6fd2f55696eb..e605eac918d64e7a96eead68d581a18f57b594e8 100644
|
| --- a/runtime/vm/flow_graph_allocator.cc
|
| +++ b/runtime/vm/flow_graph_allocator.cc
|
| @@ -101,24 +101,11 @@ FlowGraphAllocator::FlowGraphAllocator(const FlowGraph& flow_graph,
|
|
|
| // All registers are marked as "not blocked" (array initialized to false).
|
| // Mark the unavailable ones as "blocked" (true).
|
| - for (intptr_t i = 0; i < kFirstFreeCpuRegister; i++) {
|
| - blocked_cpu_registers_[i] = true;
|
| - }
|
| - for (intptr_t i = kLastFreeCpuRegister + 1; i < kNumberOfCpuRegisters; i++) {
|
| - blocked_cpu_registers_[i] = true;
|
| - }
|
| - if (TMP != kNoRegister) {
|
| - blocked_cpu_registers_[TMP] = true;
|
| - }
|
| - if (TMP2 != kNoRegister) {
|
| - blocked_cpu_registers_[TMP2] = true;
|
| - }
|
| - if (PP != kNoRegister) {
|
| - blocked_cpu_registers_[PP] = true;
|
| + for (intptr_t i = 0; i < kNumberOfCpuRegisters; i++) {
|
| + if ((kDartAvailableCpuRegs & (1 << i)) == 0) {
|
| + blocked_cpu_registers_[i] = true;
|
| + }
|
| }
|
| - blocked_cpu_registers_[SPREG] = true;
|
| - blocked_cpu_registers_[FPREG] = true;
|
| - blocked_cpu_registers_[THR] = true;
|
|
|
| // FpuTMP is used as scratch by optimized code and parallel move resolver.
|
| blocked_fpu_registers_[FpuTMP] = true;
|
|
|