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 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 } | 134 } |
135 static UseInfo Bool() { | 135 static UseInfo Bool() { |
136 return UseInfo(MachineRepresentation::kBit, Truncation::Bool()); | 136 return UseInfo(MachineRepresentation::kBit, Truncation::Bool()); |
137 } | 137 } |
138 static UseInfo Float32() { | 138 static UseInfo Float32() { |
139 return UseInfo(MachineRepresentation::kFloat32, Truncation::Any()); | 139 return UseInfo(MachineRepresentation::kFloat32, Truncation::Any()); |
140 } | 140 } |
141 static UseInfo TruncatingFloat64() { | 141 static UseInfo TruncatingFloat64() { |
142 return UseInfo(MachineRepresentation::kFloat64, Truncation::Float64()); | 142 return UseInfo(MachineRepresentation::kFloat64, Truncation::Float64()); |
143 } | 143 } |
| 144 static UseInfo TruncatingFloat64AsWord32() { |
| 145 return UseInfo(MachineRepresentation::kWord32, Truncation::Float64()); |
| 146 } |
144 static UseInfo PointerInt() { | 147 static UseInfo PointerInt() { |
145 return kPointerSize == 4 ? TruncatingWord32() : TruncatingWord64(); | 148 return kPointerSize == 4 ? TruncatingWord32() : TruncatingWord64(); |
146 } | 149 } |
147 static UseInfo AnyTagged() { | 150 static UseInfo AnyTagged() { |
148 return UseInfo(MachineRepresentation::kTagged, Truncation::Any()); | 151 return UseInfo(MachineRepresentation::kTagged, Truncation::Any()); |
149 } | 152 } |
150 static UseInfo TaggedSigned() { | 153 static UseInfo TaggedSigned() { |
151 return UseInfo(MachineRepresentation::kTaggedSigned, Truncation::Any()); | 154 return UseInfo(MachineRepresentation::kTaggedSigned, Truncation::Any()); |
152 } | 155 } |
153 static UseInfo TaggedPointer() { | 156 static UseInfo TaggedPointer() { |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 Factory* factory() const { return isolate()->factory(); } | 308 Factory* factory() const { return isolate()->factory(); } |
306 SimplifiedOperatorBuilder* simplified() { return jsgraph()->simplified(); } | 309 SimplifiedOperatorBuilder* simplified() { return jsgraph()->simplified(); } |
307 MachineOperatorBuilder* machine() { return jsgraph()->machine(); } | 310 MachineOperatorBuilder* machine() { return jsgraph()->machine(); } |
308 }; | 311 }; |
309 | 312 |
310 } // namespace compiler | 313 } // namespace compiler |
311 } // namespace internal | 314 } // namespace internal |
312 } // namespace v8 | 315 } // namespace v8 |
313 | 316 |
314 #endif // V8_COMPILER_REPRESENTATION_CHANGE_H_ | 317 #endif // V8_COMPILER_REPRESENTATION_CHANGE_H_ |
OLD | NEW |