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/x64/lithium-x64.h" | 5 #include "src/x64/lithium-x64.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #if V8_TARGET_ARCH_X64 | 9 #if V8_TARGET_ARCH_X64 |
10 | 10 |
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 if (i < blocks->length() - 1) next = blocks->at(i + 1); | 463 if (i < blocks->length() - 1) next = blocks->at(i + 1); |
464 DoBasicBlock(blocks->at(i), next); | 464 DoBasicBlock(blocks->at(i), next); |
465 if (is_aborted()) return NULL; | 465 if (is_aborted()) return NULL; |
466 } | 466 } |
467 status_ = DONE; | 467 status_ = DONE; |
468 return chunk_; | 468 return chunk_; |
469 } | 469 } |
470 | 470 |
471 | 471 |
472 LUnallocated* LChunkBuilder::ToUnallocated(Register reg) { | 472 LUnallocated* LChunkBuilder::ToUnallocated(Register reg) { |
473 return new (zone()) LUnallocated(LUnallocated::FIXED_REGISTER, reg.code()); | 473 return new(zone()) LUnallocated(LUnallocated::FIXED_REGISTER, |
| 474 Register::ToAllocationIndex(reg)); |
474 } | 475 } |
475 | 476 |
476 | 477 |
477 LUnallocated* LChunkBuilder::ToUnallocated(XMMRegister reg) { | 478 LUnallocated* LChunkBuilder::ToUnallocated(XMMRegister reg) { |
478 return new (zone()) | 479 return new(zone()) LUnallocated(LUnallocated::FIXED_DOUBLE_REGISTER, |
479 LUnallocated(LUnallocated::FIXED_DOUBLE_REGISTER, reg.code()); | 480 XMMRegister::ToAllocationIndex(reg)); |
480 } | 481 } |
481 | 482 |
482 | 483 |
483 LOperand* LChunkBuilder::UseFixed(HValue* value, Register fixed_register) { | 484 LOperand* LChunkBuilder::UseFixed(HValue* value, Register fixed_register) { |
484 return Use(value, ToUnallocated(fixed_register)); | 485 return Use(value, ToUnallocated(fixed_register)); |
485 } | 486 } |
486 | 487 |
487 | 488 |
488 LOperand* LChunkBuilder::UseFixedDouble(HValue* value, XMMRegister reg) { | 489 LOperand* LChunkBuilder::UseFixedDouble(HValue* value, XMMRegister reg) { |
489 return Use(value, ToUnallocated(reg)); | 490 return Use(value, ToUnallocated(reg)); |
(...skipping 2249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2739 LAllocateBlockContext* result = | 2740 LAllocateBlockContext* result = |
2740 new(zone()) LAllocateBlockContext(context, function); | 2741 new(zone()) LAllocateBlockContext(context, function); |
2741 return MarkAsCall(DefineFixed(result, rsi), instr); | 2742 return MarkAsCall(DefineFixed(result, rsi), instr); |
2742 } | 2743 } |
2743 | 2744 |
2744 | 2745 |
2745 } // namespace internal | 2746 } // namespace internal |
2746 } // namespace v8 | 2747 } // namespace v8 |
2747 | 2748 |
2748 #endif // V8_TARGET_ARCH_X64 | 2749 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |