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/compiler/common-operator.h" | 5 #include "src/compiler/common-operator.h" |
6 #include "src/compiler/graph.h" | 6 #include "src/compiler/graph.h" |
7 #include "src/compiler/instruction.h" | 7 #include "src/compiler/instruction.h" |
8 #include "src/compiler/schedule.h" | 8 #include "src/compiler/schedule.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 } | 102 } |
103 DCHECK_IMPLIES(replacement == to_eliminate, replacement == nullptr); | 103 DCHECK_IMPLIES(replacement == to_eliminate, replacement == nullptr); |
104 if (replacement != nullptr) move->set_source(replacement->source()); | 104 if (replacement != nullptr) move->set_source(replacement->source()); |
105 return to_eliminate; | 105 return to_eliminate; |
106 } | 106 } |
107 | 107 |
108 | 108 |
109 Instruction::Instruction(InstructionCode opcode) | 109 Instruction::Instruction(InstructionCode opcode) |
110 : opcode_(opcode), | 110 : opcode_(opcode), |
111 bit_field_(OutputCountField::encode(0) | InputCountField::encode(0) | | 111 bit_field_(OutputCountField::encode(0) | InputCountField::encode(0) | |
112 TempCountField::encode(0) | IsCallField::encode(false) | | 112 TempCountField::encode(0) | IsCallField::encode(false)), |
113 IsControlField::encode(false)), | |
114 pointer_map_(NULL) {} | 113 pointer_map_(NULL) {} |
115 | 114 |
116 | 115 |
117 Instruction::Instruction(InstructionCode opcode, size_t output_count, | 116 Instruction::Instruction(InstructionCode opcode, size_t output_count, |
118 InstructionOperand* outputs, size_t input_count, | 117 InstructionOperand* outputs, size_t input_count, |
119 InstructionOperand* inputs, size_t temp_count, | 118 InstructionOperand* inputs, size_t temp_count, |
120 InstructionOperand* temps) | 119 InstructionOperand* temps) |
121 : opcode_(opcode), | 120 : opcode_(opcode), |
122 bit_field_(OutputCountField::encode(output_count) | | 121 bit_field_(OutputCountField::encode(output_count) | |
123 InputCountField::encode(input_count) | | 122 InputCountField::encode(input_count) | |
124 TempCountField::encode(temp_count) | | 123 TempCountField::encode(temp_count) | |
125 IsCallField::encode(false) | IsControlField::encode(false)), | 124 IsCallField::encode(false)), |
126 pointer_map_(NULL) { | 125 pointer_map_(NULL) { |
127 size_t offset = 0; | 126 size_t offset = 0; |
128 for (size_t i = 0; i < output_count; ++i) { | 127 for (size_t i = 0; i < output_count; ++i) { |
129 DCHECK(!outputs[i].IsInvalid()); | 128 DCHECK(!outputs[i].IsInvalid()); |
130 operands_[offset++] = outputs[i]; | 129 operands_[offset++] = outputs[i]; |
131 } | 130 } |
132 for (size_t i = 0; i < input_count; ++i) { | 131 for (size_t i = 0; i < input_count; ++i) { |
133 DCHECK(!inputs[i].IsInvalid()); | 132 DCHECK(!inputs[i].IsInvalid()); |
134 operands_[offset++] = inputs[i]; | 133 operands_[offset++] = inputs[i]; |
135 } | 134 } |
(...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
732 os << " B" << succ.ToInt(); | 731 os << " B" << succ.ToInt(); |
733 } | 732 } |
734 os << "\n"; | 733 os << "\n"; |
735 } | 734 } |
736 return os; | 735 return os; |
737 } | 736 } |
738 | 737 |
739 } // namespace compiler | 738 } // namespace compiler |
740 } // namespace internal | 739 } // namespace internal |
741 } // namespace v8 | 740 } // namespace v8 |
OLD | NEW |