OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/arm/lithium-arm.h" | 5 #include "src/arm/lithium-arm.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "src/arm/lithium-codegen-arm.h" | 9 #include "src/arm/lithium-codegen-arm.h" |
10 #include "src/hydrogen-osr.h" | 10 #include "src/hydrogen-osr.h" |
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
437 if (i < blocks->length() - 1) next = blocks->at(i + 1); | 437 if (i < blocks->length() - 1) next = blocks->at(i + 1); |
438 DoBasicBlock(blocks->at(i), next); | 438 DoBasicBlock(blocks->at(i), next); |
439 if (is_aborted()) return NULL; | 439 if (is_aborted()) return NULL; |
440 } | 440 } |
441 status_ = DONE; | 441 status_ = DONE; |
442 return chunk_; | 442 return chunk_; |
443 } | 443 } |
444 | 444 |
445 | 445 |
446 LUnallocated* LChunkBuilder::ToUnallocated(Register reg) { | 446 LUnallocated* LChunkBuilder::ToUnallocated(Register reg) { |
447 return new (zone()) LUnallocated(LUnallocated::FIXED_REGISTER, reg.code()); | 447 return new(zone()) LUnallocated(LUnallocated::FIXED_REGISTER, |
| 448 Register::ToAllocationIndex(reg)); |
448 } | 449 } |
449 | 450 |
450 | 451 |
451 LUnallocated* LChunkBuilder::ToUnallocated(DoubleRegister reg) { | 452 LUnallocated* LChunkBuilder::ToUnallocated(DoubleRegister reg) { |
452 return new (zone()) | 453 return new(zone()) LUnallocated(LUnallocated::FIXED_DOUBLE_REGISTER, |
453 LUnallocated(LUnallocated::FIXED_DOUBLE_REGISTER, reg.code()); | 454 DoubleRegister::ToAllocationIndex(reg)); |
454 } | 455 } |
455 | 456 |
456 | 457 |
457 LOperand* LChunkBuilder::UseFixed(HValue* value, Register fixed_register) { | 458 LOperand* LChunkBuilder::UseFixed(HValue* value, Register fixed_register) { |
458 return Use(value, ToUnallocated(fixed_register)); | 459 return Use(value, ToUnallocated(fixed_register)); |
459 } | 460 } |
460 | 461 |
461 | 462 |
462 LOperand* LChunkBuilder::UseFixedDouble(HValue* value, DoubleRegister reg) { | 463 LOperand* LChunkBuilder::UseFixedDouble(HValue* value, DoubleRegister reg) { |
463 return Use(value, ToUnallocated(reg)); | 464 return Use(value, ToUnallocated(reg)); |
(...skipping 2227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2691 HAllocateBlockContext* instr) { | 2692 HAllocateBlockContext* instr) { |
2692 LOperand* context = UseFixed(instr->context(), cp); | 2693 LOperand* context = UseFixed(instr->context(), cp); |
2693 LOperand* function = UseRegisterAtStart(instr->function()); | 2694 LOperand* function = UseRegisterAtStart(instr->function()); |
2694 LAllocateBlockContext* result = | 2695 LAllocateBlockContext* result = |
2695 new(zone()) LAllocateBlockContext(context, function); | 2696 new(zone()) LAllocateBlockContext(context, function); |
2696 return MarkAsCall(DefineFixed(result, cp), instr); | 2697 return MarkAsCall(DefineFixed(result, cp), instr); |
2697 } | 2698 } |
2698 | 2699 |
2699 } // namespace internal | 2700 } // namespace internal |
2700 } // namespace v8 | 2701 } // namespace v8 |
OLD | NEW |