OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_MACHINE_OPERATOR_H_ | 5 #ifndef V8_COMPILER_MACHINE_OPERATOR_H_ |
6 #define V8_COMPILER_MACHINE_OPERATOR_H_ | 6 #define V8_COMPILER_MACHINE_OPERATOR_H_ |
7 | 7 |
8 #include "src/base/flags.h" | 8 #include "src/base/flags.h" |
9 #include "src/compiler/machine-type.h" | 9 #include "src/compiler/machine-type.h" |
10 | 10 |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 | 149 |
150 const Operator* Int64Add(); | 150 const Operator* Int64Add(); |
151 const Operator* Int64Sub(); | 151 const Operator* Int64Sub(); |
152 const Operator* Int64Mul(); | 152 const Operator* Int64Mul(); |
153 const Operator* Int64Div(); | 153 const Operator* Int64Div(); |
154 const Operator* Int64Mod(); | 154 const Operator* Int64Mod(); |
155 const Operator* Int64LessThan(); | 155 const Operator* Int64LessThan(); |
156 const Operator* Int64LessThanOrEqual(); | 156 const Operator* Int64LessThanOrEqual(); |
157 const Operator* Uint64Div(); | 157 const Operator* Uint64Div(); |
158 const Operator* Uint64LessThan(); | 158 const Operator* Uint64LessThan(); |
| 159 const Operator* Uint64LessThanOrEqual(); |
159 const Operator* Uint64Mod(); | 160 const Operator* Uint64Mod(); |
160 | 161 |
161 // These operators change the representation of numbers while preserving the | 162 // These operators change the representation of numbers while preserving the |
162 // value of the number. Narrowing operators assume the input is representable | 163 // value of the number. Narrowing operators assume the input is representable |
163 // in the target type and are *not* defined for other inputs. | 164 // in the target type and are *not* defined for other inputs. |
164 // Use narrowing change operators only when there is a static guarantee that | 165 // Use narrowing change operators only when there is a static guarantee that |
165 // the input value is representable in the target value. | 166 // the input value is representable in the target value. |
166 const Operator* ChangeFloat32ToFloat64(); | 167 const Operator* ChangeFloat32ToFloat64(); |
167 const Operator* ChangeFloat64ToInt32(); // narrowing | 168 const Operator* ChangeFloat64ToInt32(); // narrowing |
168 const Operator* ChangeFloat64ToUint32(); // narrowing | 169 const Operator* ChangeFloat64ToUint32(); // narrowing |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
288 }; | 289 }; |
289 | 290 |
290 | 291 |
291 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) | 292 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) |
292 | 293 |
293 } // namespace compiler | 294 } // namespace compiler |
294 } // namespace internal | 295 } // namespace internal |
295 } // namespace v8 | 296 } // namespace v8 |
296 | 297 |
297 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ | 298 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ |
OLD | NEW |