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 } | |
645 case kMips64Add: | 638 case kMips64Add: |
646 __ Addu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 639 __ Addu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
647 break; | 640 break; |
648 case kMips64Dadd: | 641 case kMips64Dadd: |
649 __ Daddu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); | 642 __ Daddu(i.OutputRegister(), i.InputRegister(0), i.InputOperand(1)); |
650 break; | 643 break; |
651 case kMips64DaddOvf: | 644 case kMips64DaddOvf: |
652 // Pseudo-instruction used for overflow/branch. No opcode emitted here. | 645 // Pseudo-instruction used for overflow/branch. No opcode emitted here. |
653 break; | 646 break; |
654 case kMips64Sub: | 647 case kMips64Sub: |
(...skipping 1469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2124 padding_size -= v8::internal::Assembler::kInstrSize; | 2117 padding_size -= v8::internal::Assembler::kInstrSize; |
2125 } | 2118 } |
2126 } | 2119 } |
2127 } | 2120 } |
2128 | 2121 |
2129 #undef __ | 2122 #undef __ |
2130 | 2123 |
2131 } // namespace compiler | 2124 } // namespace compiler |
2132 } // namespace internal | 2125 } // namespace internal |
2133 } // namespace v8 | 2126 } // namespace v8 |
OLD | NEW |