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 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 | 231 |
232 // Changes representation from {output_type} to {use_rep}. The {truncation} | 232 // Changes representation from {output_type} to {use_rep}. The {truncation} |
233 // parameter is only used for sanity checking - if the changer cannot figure | 233 // parameter is only used for sanity checking - if the changer cannot figure |
234 // out signedness for the word32->float64 conversion, then we check that the | 234 // out signedness for the word32->float64 conversion, then we check that the |
235 // uses truncate to word32 (so they do not care about signedness). | 235 // uses truncate to word32 (so they do not care about signedness). |
236 Node* GetRepresentationFor(Node* node, MachineRepresentation output_rep, | 236 Node* GetRepresentationFor(Node* node, MachineRepresentation output_rep, |
237 Type* output_type, Node* use_node, | 237 Type* output_type, Node* use_node, |
238 UseInfo use_info); | 238 UseInfo use_info); |
239 const Operator* Int32OperatorFor(IrOpcode::Value opcode); | 239 const Operator* Int32OperatorFor(IrOpcode::Value opcode); |
240 const Operator* Int32OverflowOperatorFor(IrOpcode::Value opcode); | 240 const Operator* Int32OverflowOperatorFor(IrOpcode::Value opcode); |
| 241 const Operator* TaggedSignedOperatorFor(IrOpcode::Value opcode); |
241 const Operator* Uint32OperatorFor(IrOpcode::Value opcode); | 242 const Operator* Uint32OperatorFor(IrOpcode::Value opcode); |
242 const Operator* Uint32OverflowOperatorFor(IrOpcode::Value opcode); | 243 const Operator* Uint32OverflowOperatorFor(IrOpcode::Value opcode); |
243 const Operator* Float64OperatorFor(IrOpcode::Value opcode); | 244 const Operator* Float64OperatorFor(IrOpcode::Value opcode); |
244 | 245 |
245 MachineType TypeForBasePointer(const FieldAccess& access) { | 246 MachineType TypeForBasePointer(const FieldAccess& access) { |
246 return access.tag() != 0 ? MachineType::AnyTagged() | 247 return access.tag() != 0 ? MachineType::AnyTagged() |
247 : MachineType::Pointer(); | 248 : MachineType::Pointer(); |
248 } | 249 } |
249 | 250 |
250 MachineType TypeForBasePointer(const ElementAccess& access) { | 251 MachineType TypeForBasePointer(const ElementAccess& access) { |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
304 Factory* factory() const { return isolate()->factory(); } | 305 Factory* factory() const { return isolate()->factory(); } |
305 SimplifiedOperatorBuilder* simplified() { return jsgraph()->simplified(); } | 306 SimplifiedOperatorBuilder* simplified() { return jsgraph()->simplified(); } |
306 MachineOperatorBuilder* machine() { return jsgraph()->machine(); } | 307 MachineOperatorBuilder* machine() { return jsgraph()->machine(); } |
307 }; | 308 }; |
308 | 309 |
309 } // namespace compiler | 310 } // namespace compiler |
310 } // namespace internal | 311 } // namespace internal |
311 } // namespace v8 | 312 } // namespace v8 |
312 | 313 |
313 #endif // V8_COMPILER_REPRESENTATION_CHANGE_H_ | 314 #endif // V8_COMPILER_REPRESENTATION_CHANGE_H_ |
OLD | NEW |