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_REPRESENTATION_CHANGE_H_ | 5 #ifndef V8_COMPILER_REPRESENTATION_CHANGE_H_ |
6 #define V8_COMPILER_REPRESENTATION_CHANGE_H_ | 6 #define V8_COMPILER_REPRESENTATION_CHANGE_H_ |
7 | 7 |
8 #include "src/compiler/js-graph.h" | 8 #include "src/compiler/js-graph.h" |
9 #include "src/compiler/simplified-operator.h" | 9 #include "src/compiler/simplified-operator.h" |
10 | 10 |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 // Changes representation from {output_type} to {use_rep}. The {truncation} | 183 // Changes representation from {output_type} to {use_rep}. The {truncation} |
184 // parameter is only used for sanity checking - if the changer cannot figure | 184 // parameter is only used for sanity checking - if the changer cannot figure |
185 // out signedness for the word32->float64 conversion, then we check that the | 185 // out signedness for the word32->float64 conversion, then we check that the |
186 // uses truncate to word32 (so they do not care about signedness). | 186 // uses truncate to word32 (so they do not care about signedness). |
187 Node* GetRepresentationFor(Node* node, MachineRepresentation output_rep, | 187 Node* GetRepresentationFor(Node* node, MachineRepresentation output_rep, |
188 Type* output_type, Node* use_node, | 188 Type* output_type, Node* use_node, |
189 UseInfo use_info); | 189 UseInfo use_info); |
190 const Operator* Int32OperatorFor(IrOpcode::Value opcode); | 190 const Operator* Int32OperatorFor(IrOpcode::Value opcode); |
191 const Operator* Int32OverflowOperatorFor(IrOpcode::Value opcode); | 191 const Operator* Int32OverflowOperatorFor(IrOpcode::Value opcode); |
192 const Operator* Uint32OperatorFor(IrOpcode::Value opcode); | 192 const Operator* Uint32OperatorFor(IrOpcode::Value opcode); |
| 193 const Operator* Uint32OverflowOperatorFor(IrOpcode::Value opcode); |
193 const Operator* Float64OperatorFor(IrOpcode::Value opcode); | 194 const Operator* Float64OperatorFor(IrOpcode::Value opcode); |
194 | 195 |
195 MachineType TypeForBasePointer(const FieldAccess& access) { | 196 MachineType TypeForBasePointer(const FieldAccess& access) { |
196 return access.tag() != 0 ? MachineType::AnyTagged() | 197 return access.tag() != 0 ? MachineType::AnyTagged() |
197 : MachineType::Pointer(); | 198 : MachineType::Pointer(); |
198 } | 199 } |
199 | 200 |
200 MachineType TypeForBasePointer(const ElementAccess& access) { | 201 MachineType TypeForBasePointer(const ElementAccess& access) { |
201 return access.tag() != 0 ? MachineType::AnyTagged() | 202 return access.tag() != 0 ? MachineType::AnyTagged() |
202 : MachineType::Pointer(); | 203 : MachineType::Pointer(); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 Factory* factory() const { return isolate()->factory(); } | 249 Factory* factory() const { return isolate()->factory(); } |
249 SimplifiedOperatorBuilder* simplified() { return jsgraph()->simplified(); } | 250 SimplifiedOperatorBuilder* simplified() { return jsgraph()->simplified(); } |
250 MachineOperatorBuilder* machine() { return jsgraph()->machine(); } | 251 MachineOperatorBuilder* machine() { return jsgraph()->machine(); } |
251 }; | 252 }; |
252 | 253 |
253 } // namespace compiler | 254 } // namespace compiler |
254 } // namespace internal | 255 } // namespace internal |
255 } // namespace v8 | 256 } // namespace v8 |
256 | 257 |
257 #endif // V8_COMPILER_REPRESENTATION_CHANGE_H_ | 258 #endif // V8_COMPILER_REPRESENTATION_CHANGE_H_ |
OLD | NEW |