| 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_OPCODES_H_ | 5 #ifndef V8_COMPILER_OPCODES_H_ |
| 6 #define V8_COMPILER_OPCODES_H_ | 6 #define V8_COMPILER_OPCODES_H_ |
| 7 | 7 |
| 8 // Opcodes for control operators. | 8 // Opcodes for control operators. |
| 9 #define INNER_CONTROL_OP_LIST(V) \ | 9 #define INNER_CONTROL_OP_LIST(V) \ |
| 10 V(Dead) \ | 10 V(Dead) \ |
| 11 V(Loop) \ | 11 V(Loop) \ |
| 12 V(Branch) \ | 12 V(Branch) \ |
| 13 V(IfTrue) \ | 13 V(IfTrue) \ |
| 14 V(IfFalse) \ | 14 V(IfFalse) \ |
| 15 V(Merge) \ | 15 V(Merge) \ |
| 16 V(Return) \ | 16 V(Return) \ |
| 17 V(Throw) | 17 V(Throw) |
| 18 | 18 |
| 19 #define CONTROL_OP_LIST(V) \ | 19 #define CONTROL_OP_LIST(V) \ |
| 20 INNER_CONTROL_OP_LIST(V) \ | 20 INNER_CONTROL_OP_LIST(V) \ |
| 21 V(Start) \ | 21 V(Start) \ |
| 22 V(End) | 22 V(End) |
| 23 | 23 |
| 24 // Opcodes for common operators. | 24 // Opcodes for common operators. |
| 25 #define LEAF_OP_LIST(V) \ | 25 #define LEAF_OP_LIST(V) \ |
| 26 V(Int32Constant) \ | 26 V(Int32Constant) \ |
| 27 V(Int64Constant) \ | 27 V(Int64Constant) \ |
| 28 V(Float32Constant) \ |
| 28 V(Float64Constant) \ | 29 V(Float64Constant) \ |
| 29 V(ExternalConstant) \ | 30 V(ExternalConstant) \ |
| 30 V(NumberConstant) \ | 31 V(NumberConstant) \ |
| 31 V(HeapConstant) | 32 V(HeapConstant) |
| 32 | 33 |
| 33 #define INNER_OP_LIST(V) \ | 34 #define INNER_OP_LIST(V) \ |
| 34 V(Phi) \ | 35 V(Phi) \ |
| 35 V(EffectPhi) \ | 36 V(EffectPhi) \ |
| 36 V(ControlEffect) \ | 37 V(ControlEffect) \ |
| 37 V(ValueEffect) \ | 38 V(ValueEffect) \ |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 V(ChangeUint32ToTagged) \ | 155 V(ChangeUint32ToTagged) \ |
| 155 V(ChangeFloat64ToTagged) \ | 156 V(ChangeFloat64ToTagged) \ |
| 156 V(ChangeBoolToBit) \ | 157 V(ChangeBoolToBit) \ |
| 157 V(ChangeBitToBool) \ | 158 V(ChangeBitToBool) \ |
| 158 V(LoadField) \ | 159 V(LoadField) \ |
| 159 V(LoadElement) \ | 160 V(LoadElement) \ |
| 160 V(StoreField) \ | 161 V(StoreField) \ |
| 161 V(StoreElement) | 162 V(StoreElement) |
| 162 | 163 |
| 163 // Opcodes for Machine-level operators. | 164 // Opcodes for Machine-level operators. |
| 164 #define MACHINE_OP_LIST(V) \ | 165 #define MACHINE_OP_LIST(V) \ |
| 165 V(Load) \ | 166 V(Load) \ |
| 166 V(Store) \ | 167 V(Store) \ |
| 167 V(Word32And) \ | 168 V(Word32And) \ |
| 168 V(Word32Or) \ | 169 V(Word32Or) \ |
| 169 V(Word32Xor) \ | 170 V(Word32Xor) \ |
| 170 V(Word32Shl) \ | 171 V(Word32Shl) \ |
| 171 V(Word32Shr) \ | 172 V(Word32Shr) \ |
| 172 V(Word32Sar) \ | 173 V(Word32Sar) \ |
| 173 V(Word32Ror) \ | 174 V(Word32Ror) \ |
| 174 V(Word32Equal) \ | 175 V(Word32Equal) \ |
| 175 V(Word64And) \ | 176 V(Word64And) \ |
| 176 V(Word64Or) \ | 177 V(Word64Or) \ |
| 177 V(Word64Xor) \ | 178 V(Word64Xor) \ |
| 178 V(Word64Shl) \ | 179 V(Word64Shl) \ |
| 179 V(Word64Shr) \ | 180 V(Word64Shr) \ |
| 180 V(Word64Sar) \ | 181 V(Word64Sar) \ |
| 181 V(Word64Ror) \ | 182 V(Word64Ror) \ |
| 182 V(Word64Equal) \ | 183 V(Word64Equal) \ |
| 183 V(Int32Add) \ | 184 V(Int32Add) \ |
| 184 V(Int32AddWithOverflow) \ | 185 V(Int32AddWithOverflow) \ |
| 185 V(Int32Sub) \ | 186 V(Int32Sub) \ |
| 186 V(Int32SubWithOverflow) \ | 187 V(Int32SubWithOverflow) \ |
| 187 V(Int32Mul) \ | 188 V(Int32Mul) \ |
| 188 V(Int32Div) \ | 189 V(Int32Div) \ |
| 189 V(Int32UDiv) \ | 190 V(Int32UDiv) \ |
| 190 V(Int32Mod) \ | 191 V(Int32Mod) \ |
| 191 V(Int32UMod) \ | 192 V(Int32UMod) \ |
| 192 V(Int32LessThan) \ | 193 V(Int32LessThan) \ |
| 193 V(Int32LessThanOrEqual) \ | 194 V(Int32LessThanOrEqual) \ |
| 194 V(Uint32LessThan) \ | 195 V(Uint32LessThan) \ |
| 195 V(Uint32LessThanOrEqual) \ | 196 V(Uint32LessThanOrEqual) \ |
| 196 V(Int64Add) \ | 197 V(Int64Add) \ |
| 197 V(Int64Sub) \ | 198 V(Int64Sub) \ |
| 198 V(Int64Mul) \ | 199 V(Int64Mul) \ |
| 199 V(Int64Div) \ | 200 V(Int64Div) \ |
| 200 V(Int64UDiv) \ | 201 V(Int64UDiv) \ |
| 201 V(Int64Mod) \ | 202 V(Int64Mod) \ |
| 202 V(Int64UMod) \ | 203 V(Int64UMod) \ |
| 203 V(Int64LessThan) \ | 204 V(Int64LessThan) \ |
| 204 V(Int64LessThanOrEqual) \ | 205 V(Int64LessThanOrEqual) \ |
| 205 V(ChangeInt32ToFloat64) \ | 206 V(ChangeFloat32ToFloat64) \ |
| 206 V(ChangeUint32ToFloat64) \ | 207 V(ChangeFloat64ToInt32) \ |
| 207 V(ChangeFloat64ToInt32) \ | 208 V(ChangeFloat64ToUint32) \ |
| 208 V(ChangeFloat64ToUint32) \ | 209 V(ChangeInt32ToFloat64) \ |
| 209 V(ChangeInt32ToInt64) \ | 210 V(ChangeInt32ToInt64) \ |
| 210 V(ChangeUint32ToUint64) \ | 211 V(ChangeUint32ToFloat64) \ |
| 211 V(TruncateFloat64ToInt32) \ | 212 V(ChangeUint32ToUint64) \ |
| 212 V(TruncateInt64ToInt32) \ | 213 V(TruncateFloat64ToFloat32) \ |
| 213 V(Float64Add) \ | 214 V(TruncateFloat64ToInt32) \ |
| 214 V(Float64Sub) \ | 215 V(TruncateInt64ToInt32) \ |
| 215 V(Float64Mul) \ | 216 V(Float64Add) \ |
| 216 V(Float64Div) \ | 217 V(Float64Sub) \ |
| 217 V(Float64Mod) \ | 218 V(Float64Mul) \ |
| 218 V(Float64Equal) \ | 219 V(Float64Div) \ |
| 219 V(Float64LessThan) \ | 220 V(Float64Mod) \ |
| 221 V(Float64Equal) \ |
| 222 V(Float64LessThan) \ |
| 220 V(Float64LessThanOrEqual) | 223 V(Float64LessThanOrEqual) |
| 221 | 224 |
| 222 #define VALUE_OP_LIST(V) \ | 225 #define VALUE_OP_LIST(V) \ |
| 223 COMMON_OP_LIST(V) \ | 226 COMMON_OP_LIST(V) \ |
| 224 SIMPLIFIED_OP_LIST(V) \ | 227 SIMPLIFIED_OP_LIST(V) \ |
| 225 MACHINE_OP_LIST(V) \ | 228 MACHINE_OP_LIST(V) \ |
| 226 JS_OP_LIST(V) | 229 JS_OP_LIST(V) |
| 227 | 230 |
| 228 // The combination of all operators at all levels and the common operators. | 231 // The combination of all operators at all levels and the common operators. |
| 229 #define ALL_OP_LIST(V) \ | 232 #define ALL_OP_LIST(V) \ |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 return false; | 300 return false; |
| 298 } | 301 } |
| 299 } | 302 } |
| 300 }; | 303 }; |
| 301 | 304 |
| 302 } // namespace compiler | 305 } // namespace compiler |
| 303 } // namespace internal | 306 } // namespace internal |
| 304 } // namespace v8 | 307 } // namespace v8 |
| 305 | 308 |
| 306 #endif // V8_COMPILER_OPCODES_H_ | 309 #endif // V8_COMPILER_OPCODES_H_ |
| OLD | NEW |