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 #ifndef V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 5 #ifndef V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
6 #define V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 6 #define V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 | 9 |
10 #include "src/compiler/common-operator.h" | 10 #include "src/compiler/common-operator.h" |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 // Checks if {node} is marked as reference. | 129 // Checks if {node} is marked as reference. |
130 bool IsReference(const Node* node) const; | 130 bool IsReference(const Node* node) const; |
131 | 131 |
132 // Inform the register allocator of a reference result. | 132 // Inform the register allocator of a reference result. |
133 void MarkAsReference(Node* node); | 133 void MarkAsReference(Node* node); |
134 | 134 |
135 // Inform the register allocation of the representation of the value produced | 135 // Inform the register allocation of the representation of the value produced |
136 // by {node}. | 136 // by {node}. |
137 void MarkAsRepresentation(MachineType rep, Node* node); | 137 void MarkAsRepresentation(MachineType rep, Node* node); |
138 | 138 |
| 139 // Inform the register allocation of the representation of the unallocated |
| 140 // operand {op}. |
| 141 void MarkAsRepresentation(MachineType rep, InstructionOperand* op); |
| 142 |
139 // Initialize the call buffer with the InstructionOperands, nodes, etc, | 143 // Initialize the call buffer with the InstructionOperands, nodes, etc, |
140 // corresponding | 144 // corresponding |
141 // to the inputs and outputs of the call. | 145 // to the inputs and outputs of the call. |
142 // {call_code_immediate} to generate immediate operands to calls of code. | 146 // {call_code_immediate} to generate immediate operands to calls of code. |
143 // {call_address_immediate} to generate immediate operands to address calls. | 147 // {call_address_immediate} to generate immediate operands to address calls. |
144 void InitializeCallBuffer(Node* call, CallBuffer* buffer, | 148 void InitializeCallBuffer(Node* call, CallBuffer* buffer, |
145 bool call_code_immediate, | 149 bool call_code_immediate, |
146 bool call_address_immediate); | 150 bool call_address_immediate); |
147 | 151 |
148 FrameStateDescriptor* GetFrameStateDescriptor(Node* node); | 152 FrameStateDescriptor* GetFrameStateDescriptor(Node* node); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 ZoneDeque<Instruction*> instructions_; | 206 ZoneDeque<Instruction*> instructions_; |
203 BoolVector defined_; | 207 BoolVector defined_; |
204 BoolVector used_; | 208 BoolVector used_; |
205 }; | 209 }; |
206 | 210 |
207 } // namespace compiler | 211 } // namespace compiler |
208 } // namespace internal | 212 } // namespace internal |
209 } // namespace v8 | 213 } // namespace v8 |
210 | 214 |
211 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 215 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
OLD | NEW |