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 617 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
628 auto ool = new (zone()) OutOfLineRecordWrite(this, object, index, value, | 628 auto ool = new (zone()) OutOfLineRecordWrite(this, object, index, value, |
629 scratch0, scratch1, mode); | 629 scratch0, scratch1, mode); |
630 __ Daddu(at, object, index); | 630 __ Daddu(at, object, index); |
631 __ sd(value, MemOperand(at)); | 631 __ sd(value, MemOperand(at)); |
632 __ CheckPageFlag(object, scratch0, | 632 __ CheckPageFlag(object, scratch0, |
633 MemoryChunk::kPointersFromHereAreInterestingMask, ne, | 633 MemoryChunk::kPointersFromHereAreInterestingMask, ne, |
634 ool->entry()); | 634 ool->entry()); |
635 __ bind(ool->exit()); | 635 __ bind(ool->exit()); |
636 break; | 636 break; |
637 } | 637 } |
| 638 case kArchStackSlot: { |
| 639 FrameOffset offset = |
| 640 frame_access_state()->GetFrameOffset(i.InputInt32(0)); |
| 641 __ Daddu(i.OutputRegister(), offset.from_stack_pointer() ? sp : fp, |
| 642 Operand(offset.offset())); |
| 643 break; |
| 644 } |
638 case kMips64Add: | 645 case kMips64Add: |
639 __ Addu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 646 __ Addu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
640 break; | 647 break; |
641 case kMips64Dadd: | 648 case kMips64Dadd: |
642 __ Daddu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 649 __ Daddu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
643 break; | 650 break; |
644 case kMips64DaddOvf: | 651 case kMips64DaddOvf: |
645 // Pseudo-instruction used for overflow/branch. No opcode emitted here. | 652 // Pseudo-instruction used for overflow/branch. No opcode emitted here. |
646 break; | 653 break; |
647 case kMips64Sub: | 654 case kMips64Sub: |
(...skipping 1469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2117 padding_size -= v8::internal::Assembler::kInstrSize; | 2124 padding_size -= v8::internal::Assembler::kInstrSize; |
2118 } | 2125 } |
2119 } | 2126 } |
2120 } | 2127 } |
2121 | 2128 |
2122 #undef __ | 2129 #undef __ |
2123 | 2130 |
2124 } // namespace compiler | 2131 } // namespace compiler |
2125 } // namespace internal | 2132 } // namespace internal |
2126 } // namespace v8 | 2133 } // namespace v8 |
OLD | NEW |