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 } | |
635 case kMipsAdd: | 628 case kMipsAdd: |
636 __ Addu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 629 __ Addu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
637 break; | 630 break; |
638 case kMipsAddOvf: | 631 case kMipsAddOvf: |
639 // Pseudo-instruction used for overflow/branch. No opcode emitted here. | 632 // Pseudo-instruction used for overflow/branch. No opcode emitted here. |
640 break; | 633 break; |
641 case kMipsSub: | 634 case kMipsSub: |
642 __ Subu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 635 __ Subu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
643 break; | 636 break; |
644 case kMipsSubOvf: | 637 case kMipsSubOvf: |
(...skipping 1170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1815 padding_size -= v8::internal::Assembler::kInstrSize; | 1808 padding_size -= v8::internal::Assembler::kInstrSize; |
1816 } | 1809 } |
1817 } | 1810 } |
1818 } | 1811 } |
1819 | 1812 |
1820 #undef __ | 1813 #undef __ |
1821 | 1814 |
1822 } // namespace compiler | 1815 } // namespace compiler |
1823 } // namespace internal | 1816 } // namespace internal |
1824 } // namespace v8 | 1817 } // namespace v8 |
OLD | NEW |