OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/ast/scopes.h" | 5 #include "src/ast/scopes.h" |
6 #include "src/compiler/code-generator.h" | 6 #include "src/compiler/code-generator.h" |
7 #include "src/compiler/code-generator-impl.h" | 7 #include "src/compiler/code-generator-impl.h" |
8 #include "src/compiler/gap-resolver.h" | 8 #include "src/compiler/gap-resolver.h" |
9 #include "src/compiler/node-matchers.h" | 9 #include "src/compiler/node-matchers.h" |
10 #include "src/compiler/osr.h" | 10 #include "src/compiler/osr.h" |
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
618 auto ool = new (zone()) OutOfLineRecordWrite(this, object, index, value, | 618 auto ool = new (zone()) OutOfLineRecordWrite(this, object, index, value, |
619 scratch0, scratch1, mode); | 619 scratch0, scratch1, mode); |
620 __ Addu(at, object, index); | 620 __ Addu(at, object, index); |
621 __ sw(value, MemOperand(at)); | 621 __ sw(value, MemOperand(at)); |
622 __ CheckPageFlag(object, scratch0, | 622 __ CheckPageFlag(object, scratch0, |
623 MemoryChunk::kPointersFromHereAreInterestingMask, ne, | 623 MemoryChunk::kPointersFromHereAreInterestingMask, ne, |
624 ool->entry()); | 624 ool->entry()); |
625 __ bind(ool->exit()); | 625 __ bind(ool->exit()); |
626 break; | 626 break; |
627 } | 627 } |
| 628 case kArchStackSlot: { |
| 629 FrameOffset offset = |
| 630 frame_access_state()->GetFrameOffset(i.InputInt32(0)); |
| 631 __ Addu(i.OutputRegister(), offset.from_stack_pointer() ? sp : fp, |
| 632 Operand(offset.offset())); |
| 633 break; |
| 634 } |
628 case kMipsAdd: | 635 case kMipsAdd: |
629 __ Addu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 636 __ Addu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
630 break; | 637 break; |
631 case kMipsAddOvf: | 638 case kMipsAddOvf: |
632 // Pseudo-instruction used for overflow/branch. No opcode emitted here. | 639 // Pseudo-instruction used for overflow/branch. No opcode emitted here. |
633 break; | 640 break; |
634 case kMipsSub: | 641 case kMipsSub: |
635 __ Subu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 642 __ Subu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
636 break; | 643 break; |
637 case kMipsSubOvf: | 644 case kMipsSubOvf: |
(...skipping 1170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1808 padding_size -= v8::internal::Assembler::kInstrSize; | 1815 padding_size -= v8::internal::Assembler::kInstrSize; |
1809 } | 1816 } |
1810 } | 1817 } |
1811 } | 1818 } |
1812 | 1819 |
1813 #undef __ | 1820 #undef __ |
1814 | 1821 |
1815 } // namespace compiler | 1822 } // namespace compiler |
1816 } // namespace internal | 1823 } // namespace internal |
1817 } // namespace v8 | 1824 } // namespace v8 |
OLD | NEW |