Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Side by Side Diff: src/compiler/ppc/code-generator-ppc.cc

Issue 1578723002: [turbofan] Build s/NULL/nullptr/g and CHECK(x != nullptr) to CHECK_NOT_NULL(x). (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/pipeline-statistics.cc ('k') | src/compiler/ppc/instruction-selector-ppc.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/compiler/code-generator.h" 5 #include "src/compiler/code-generator.h"
6 6
7 #include "src/ast/scopes.h" 7 #include "src/ast/scopes.h"
8 #include "src/compiler/code-generator-impl.h" 8 #include "src/compiler/code-generator-impl.h"
9 #include "src/compiler/gap-resolver.h" 9 #include "src/compiler/gap-resolver.h"
10 #include "src/compiler/node-matchers.h" 10 #include "src/compiler/node-matchers.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 } 94 }
95 UNREACHABLE(); 95 UNREACHABLE();
96 return MemOperand(r0); 96 return MemOperand(r0);
97 } 97 }
98 98
99 MemOperand MemoryOperand(AddressingMode* mode, size_t first_index = 0) { 99 MemOperand MemoryOperand(AddressingMode* mode, size_t first_index = 0) {
100 return MemoryOperand(mode, &first_index); 100 return MemoryOperand(mode, &first_index);
101 } 101 }
102 102
103 MemOperand ToMemOperand(InstructionOperand* op) const { 103 MemOperand ToMemOperand(InstructionOperand* op) const {
104 DCHECK(op != NULL); 104 DCHECK_NOT_NULL(op);
105 DCHECK(op->IsStackSlot() || op->IsDoubleStackSlot()); 105 DCHECK(op->IsStackSlot() || op->IsDoubleStackSlot());
106 FrameOffset offset = frame_access_state()->GetFrameOffset( 106 FrameOffset offset = frame_access_state()->GetFrameOffset(
107 AllocatedOperand::cast(op)->index()); 107 AllocatedOperand::cast(op)->index());
108 return MemOperand(offset.from_stack_pointer() ? sp : fp, offset.offset()); 108 return MemOperand(offset.from_stack_pointer() ? sp : fp, offset.offset());
109 } 109 }
110 }; 110 };
111 111
112 112
113 static inline bool HasRegisterInput(Instruction* instr, size_t index) { 113 static inline bool HasRegisterInput(Instruction* instr, size_t index) {
114 return instr->InputAt(index)->IsRegister(); 114 return instr->InputAt(index)->IsRegister();
(...skipping 1518 matching lines...) Expand 10 before | Expand all | Expand 10 after
1633 } 1633 }
1634 } else { 1634 } else {
1635 __ Drop(pop_count); 1635 __ Drop(pop_count);
1636 } 1636 }
1637 __ Ret(); 1637 __ Ret();
1638 } 1638 }
1639 1639
1640 1640
1641 void CodeGenerator::AssembleMove(InstructionOperand* source, 1641 void CodeGenerator::AssembleMove(InstructionOperand* source,
1642 InstructionOperand* destination) { 1642 InstructionOperand* destination) {
1643 PPCOperandConverter g(this, NULL); 1643 PPCOperandConverter g(this, nullptr);
1644 // Dispatch on the source and destination operand kinds. Not all 1644 // Dispatch on the source and destination operand kinds. Not all
1645 // combinations are possible. 1645 // combinations are possible.
1646 if (source->IsRegister()) { 1646 if (source->IsRegister()) {
1647 DCHECK(destination->IsRegister() || destination->IsStackSlot()); 1647 DCHECK(destination->IsRegister() || destination->IsStackSlot());
1648 Register src = g.ToRegister(source); 1648 Register src = g.ToRegister(source);
1649 if (destination->IsRegister()) { 1649 if (destination->IsRegister()) {
1650 __ Move(g.ToRegister(destination), src); 1650 __ Move(g.ToRegister(destination), src);
1651 } else { 1651 } else {
1652 __ StoreP(src, g.ToMemOperand(destination), r0); 1652 __ StoreP(src, g.ToMemOperand(destination), r0);
1653 } 1653 }
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
1735 __ StoreDouble(temp, g.ToMemOperand(destination), r0); 1735 __ StoreDouble(temp, g.ToMemOperand(destination), r0);
1736 } 1736 }
1737 } else { 1737 } else {
1738 UNREACHABLE(); 1738 UNREACHABLE();
1739 } 1739 }
1740 } 1740 }
1741 1741
1742 1742
1743 void CodeGenerator::AssembleSwap(InstructionOperand* source, 1743 void CodeGenerator::AssembleSwap(InstructionOperand* source,
1744 InstructionOperand* destination) { 1744 InstructionOperand* destination) {
1745 PPCOperandConverter g(this, NULL); 1745 PPCOperandConverter g(this, nullptr);
1746 // Dispatch on the source and destination operand kinds. Not all 1746 // Dispatch on the source and destination operand kinds. Not all
1747 // combinations are possible. 1747 // combinations are possible.
1748 if (source->IsRegister()) { 1748 if (source->IsRegister()) {
1749 // Register-register. 1749 // Register-register.
1750 Register temp = kScratchReg; 1750 Register temp = kScratchReg;
1751 Register src = g.ToRegister(source); 1751 Register src = g.ToRegister(source);
1752 if (destination->IsRegister()) { 1752 if (destination->IsRegister()) {
1753 Register dst = g.ToRegister(destination); 1753 Register dst = g.ToRegister(destination);
1754 __ mr(temp, src); 1754 __ mr(temp, src);
1755 __ mr(src, dst); 1755 __ mr(src, dst);
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
1841 padding_size -= v8::internal::Assembler::kInstrSize; 1841 padding_size -= v8::internal::Assembler::kInstrSize;
1842 } 1842 }
1843 } 1843 }
1844 } 1844 }
1845 1845
1846 #undef __ 1846 #undef __
1847 1847
1848 } // namespace compiler 1848 } // namespace compiler
1849 } // namespace internal 1849 } // namespace internal
1850 } // namespace v8 1850 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/pipeline-statistics.cc ('k') | src/compiler/ppc/instruction-selector-ppc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698