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

Side by Side Diff: src/compiler/instruction.h

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/ia32/instruction-selector-ia32.cc ('k') | src/compiler/instruction.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 #ifndef V8_COMPILER_INSTRUCTION_H_ 5 #ifndef V8_COMPILER_INSTRUCTION_H_
6 #define V8_COMPILER_INSTRUCTION_H_ 6 #define V8_COMPILER_INSTRUCTION_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <iosfwd> 9 #include <iosfwd>
10 #include <map> 10 #include <map>
(...skipping 712 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 AddressingMode addressing_mode() const { 723 AddressingMode addressing_mode() const {
724 return AddressingModeField::decode(opcode()); 724 return AddressingModeField::decode(opcode());
725 } 725 }
726 FlagsMode flags_mode() const { return FlagsModeField::decode(opcode()); } 726 FlagsMode flags_mode() const { return FlagsModeField::decode(opcode()); }
727 FlagsCondition flags_condition() const { 727 FlagsCondition flags_condition() const {
728 return FlagsConditionField::decode(opcode()); 728 return FlagsConditionField::decode(opcode());
729 } 729 }
730 730
731 // TODO(titzer): make call into a flags. 731 // TODO(titzer): make call into a flags.
732 static Instruction* New(Zone* zone, InstructionCode opcode) { 732 static Instruction* New(Zone* zone, InstructionCode opcode) {
733 return New(zone, opcode, 0, NULL, 0, NULL, 0, NULL); 733 return New(zone, opcode, 0, nullptr, 0, nullptr, 0, nullptr);
734 } 734 }
735 735
736 static Instruction* New(Zone* zone, InstructionCode opcode, 736 static Instruction* New(Zone* zone, InstructionCode opcode,
737 size_t output_count, InstructionOperand* outputs, 737 size_t output_count, InstructionOperand* outputs,
738 size_t input_count, InstructionOperand* inputs, 738 size_t input_count, InstructionOperand* inputs,
739 size_t temp_count, InstructionOperand* temps) { 739 size_t temp_count, InstructionOperand* temps) {
740 DCHECK(opcode >= 0); 740 DCHECK(opcode >= 0);
741 DCHECK(output_count == 0 || outputs != NULL); 741 DCHECK(output_count == 0 || outputs != nullptr);
742 DCHECK(input_count == 0 || inputs != NULL); 742 DCHECK(input_count == 0 || inputs != nullptr);
743 DCHECK(temp_count == 0 || temps != NULL); 743 DCHECK(temp_count == 0 || temps != nullptr);
744 size_t total_extra_ops = output_count + input_count + temp_count; 744 size_t total_extra_ops = output_count + input_count + temp_count;
745 if (total_extra_ops != 0) total_extra_ops--; 745 if (total_extra_ops != 0) total_extra_ops--;
746 int size = static_cast<int>( 746 int size = static_cast<int>(
747 RoundUp(sizeof(Instruction), sizeof(InstructionOperand)) + 747 RoundUp(sizeof(Instruction), sizeof(InstructionOperand)) +
748 total_extra_ops * sizeof(InstructionOperand)); 748 total_extra_ops * sizeof(InstructionOperand));
749 return new (zone->New(size)) Instruction( 749 return new (zone->New(size)) Instruction(
750 opcode, output_count, outputs, input_count, inputs, temp_count, temps); 750 opcode, output_count, outputs, input_count, inputs, temp_count, temps);
751 } 751 }
752 752
753 Instruction* MarkAsCall() { 753 Instruction* MarkAsCall() {
754 bit_field_ = IsCallField::update(bit_field_, true); 754 bit_field_ = IsCallField::update(bit_field_, true);
755 return this; 755 return this;
756 } 756 }
757 bool IsCall() const { return IsCallField::decode(bit_field_); } 757 bool IsCall() const { return IsCallField::decode(bit_field_); }
758 bool NeedsReferenceMap() const { return IsCall(); } 758 bool NeedsReferenceMap() const { return IsCall(); }
759 bool HasReferenceMap() const { return reference_map_ != NULL; } 759 bool HasReferenceMap() const { return reference_map_ != nullptr; }
760 760
761 bool ClobbersRegisters() const { return IsCall(); } 761 bool ClobbersRegisters() const { return IsCall(); }
762 bool ClobbersTemps() const { return IsCall(); } 762 bool ClobbersTemps() const { return IsCall(); }
763 bool ClobbersDoubleRegisters() const { return IsCall(); } 763 bool ClobbersDoubleRegisters() const { return IsCall(); }
764 ReferenceMap* reference_map() const { return reference_map_; } 764 ReferenceMap* reference_map() const { return reference_map_; }
765 765
766 void set_reference_map(ReferenceMap* map) { 766 void set_reference_map(ReferenceMap* map) {
767 DCHECK(NeedsReferenceMap()); 767 DCHECK(NeedsReferenceMap());
768 DCHECK(!reference_map_); 768 DCHECK(!reference_map_);
769 reference_map_ = map; 769 reference_map_ = map;
770 } 770 }
771 771
772 void OverwriteWithNop() { 772 void OverwriteWithNop() {
773 opcode_ = ArchOpcodeField::encode(kArchNop); 773 opcode_ = ArchOpcodeField::encode(kArchNop);
774 bit_field_ = 0; 774 bit_field_ = 0;
775 reference_map_ = NULL; 775 reference_map_ = nullptr;
776 } 776 }
777 777
778 bool IsNop() const { 778 bool IsNop() const {
779 return arch_opcode() == kArchNop && InputCount() == 0 && 779 return arch_opcode() == kArchNop && InputCount() == 0 &&
780 OutputCount() == 0 && TempCount() == 0; 780 OutputCount() == 0 && TempCount() == 0;
781 } 781 }
782 782
783 enum GapPosition { 783 enum GapPosition {
784 START, 784 START,
785 END, 785 END,
(...skipping 563 matching lines...) Expand 10 before | Expand all | Expand 10 after
1349 1349
1350 1350
1351 std::ostream& operator<<(std::ostream& os, 1351 std::ostream& operator<<(std::ostream& os,
1352 const PrintableInstructionSequence& code); 1352 const PrintableInstructionSequence& code);
1353 1353
1354 } // namespace compiler 1354 } // namespace compiler
1355 } // namespace internal 1355 } // namespace internal
1356 } // namespace v8 1356 } // namespace v8
1357 1357
1358 #endif // V8_COMPILER_INSTRUCTION_H_ 1358 #endif // V8_COMPILER_INSTRUCTION_H_
OLDNEW
« no previous file with comments | « src/compiler/ia32/instruction-selector-ia32.cc ('k') | src/compiler/instruction.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698