OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
564 if (op->IsStackSlot()) { | 564 if (op->IsStackSlot()) { |
565 if (is_tagged) { | 565 if (is_tagged) { |
566 translation->StoreStackSlot(op->index()); | 566 translation->StoreStackSlot(op->index()); |
567 } else if (is_uint32) { | 567 } else if (is_uint32) { |
568 translation->StoreUint32StackSlot(op->index()); | 568 translation->StoreUint32StackSlot(op->index()); |
569 } else { | 569 } else { |
570 translation->StoreInt32StackSlot(op->index()); | 570 translation->StoreInt32StackSlot(op->index()); |
571 } | 571 } |
572 } else if (op->IsDoubleStackSlot()) { | 572 } else if (op->IsDoubleStackSlot()) { |
573 translation->StoreDoubleStackSlot(op->index()); | 573 translation->StoreDoubleStackSlot(op->index()); |
574 } else if (op->IsArgument()) { | |
575 ASSERT(is_tagged); | |
576 int src_index = GetStackSlotCount() + op->index(); | |
577 translation->StoreStackSlot(src_index); | |
578 } else if (op->IsRegister()) { | 574 } else if (op->IsRegister()) { |
579 Register reg = ToRegister(op); | 575 Register reg = ToRegister(op); |
580 if (is_tagged) { | 576 if (is_tagged) { |
581 translation->StoreRegister(reg); | 577 translation->StoreRegister(reg); |
582 } else if (is_uint32) { | 578 } else if (is_uint32) { |
583 translation->StoreUint32Register(reg); | 579 translation->StoreUint32Register(reg); |
584 } else { | 580 } else { |
585 translation->StoreInt32Register(reg); | 581 translation->StoreInt32Register(reg); |
586 } | 582 } |
587 } else if (op->IsDoubleRegister()) { | 583 } else if (op->IsDoubleRegister()) { |
(...skipping 5001 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5589 FixedArray::kHeaderSize - kPointerSize)); | 5585 FixedArray::kHeaderSize - kPointerSize)); |
5590 __ bind(&done); | 5586 __ bind(&done); |
5591 } | 5587 } |
5592 | 5588 |
5593 | 5589 |
5594 #undef __ | 5590 #undef __ |
5595 | 5591 |
5596 } } // namespace v8::internal | 5592 } } // namespace v8::internal |
5597 | 5593 |
5598 #endif // V8_TARGET_ARCH_X64 | 5594 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |