OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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_WASM_OPCODES_H_ | 5 #ifndef V8_WASM_OPCODES_H_ |
6 #define V8_WASM_OPCODES_H_ | 6 #define V8_WASM_OPCODES_H_ |
7 | 7 |
8 #include "src/machine-type.h" | 8 #include "src/machine-type.h" |
9 #include "src/signature.h" | 9 #include "src/signature.h" |
10 | 10 |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 V(F32ReinterpretI32, 0xad, f_i) \ | 247 V(F32ReinterpretI32, 0xad, f_i) \ |
248 V(F64SConvertI32, 0xae, d_i) \ | 248 V(F64SConvertI32, 0xae, d_i) \ |
249 V(F64UConvertI32, 0xaf, d_i) \ | 249 V(F64UConvertI32, 0xaf, d_i) \ |
250 V(F64SConvertI64, 0xb0, d_l) \ | 250 V(F64SConvertI64, 0xb0, d_l) \ |
251 V(F64UConvertI64, 0xb1, d_l) \ | 251 V(F64UConvertI64, 0xb1, d_l) \ |
252 V(F64ConvertF32, 0xb2, d_f) \ | 252 V(F64ConvertF32, 0xb2, d_f) \ |
253 V(F64ReinterpretI64, 0xb3, d_l) \ | 253 V(F64ReinterpretI64, 0xb3, d_l) \ |
254 V(I32ReinterpretF32, 0xb4, i_f) \ | 254 V(I32ReinterpretF32, 0xb4, i_f) \ |
255 V(I64ReinterpretF64, 0xb5, l_d) | 255 V(I64ReinterpretF64, 0xb5, l_d) |
256 | 256 |
| 257 // For compatibility with Asm.js. |
| 258 #define FOREACH_ASMJS_COMPAT_OPCODE(V) \ |
| 259 V(F64Acos, 0xc0, d_d) \ |
| 260 V(F64Asin, 0xc1, d_d) \ |
| 261 V(F64Atan, 0xc2, d_d) \ |
| 262 V(F64Cos, 0xc3, d_d) \ |
| 263 V(F64Sin, 0xc4, d_d) \ |
| 264 V(F64Tan, 0xc5, d_d) \ |
| 265 V(F64Exp, 0xc6, d_d) \ |
| 266 V(F64Log, 0xc7, d_d) \ |
| 267 V(F64Atan2, 0xc8, d_dd) \ |
| 268 V(F64Pow, 0xc9, d_dd) \ |
| 269 V(F64Mod, 0xca, d_dd) |
| 270 |
257 // All opcodes. | 271 // All opcodes. |
258 #define FOREACH_OPCODE(V) \ | 272 #define FOREACH_OPCODE(V) \ |
259 FOREACH_CONTROL_OPCODE(V) \ | 273 FOREACH_CONTROL_OPCODE(V) \ |
260 FOREACH_MISC_OPCODE(V) \ | 274 FOREACH_MISC_OPCODE(V) \ |
261 FOREACH_SIMPLE_OPCODE(V) \ | 275 FOREACH_SIMPLE_OPCODE(V) \ |
262 FOREACH_STORE_MEM_OPCODE(V) \ | 276 FOREACH_STORE_MEM_OPCODE(V) \ |
263 FOREACH_LOAD_MEM_OPCODE(V) \ | 277 FOREACH_LOAD_MEM_OPCODE(V) \ |
264 FOREACH_MISC_MEM_OPCODE(V) | 278 FOREACH_MISC_MEM_OPCODE(V) \ |
| 279 FOREACH_ASMJS_COMPAT_OPCODE(V) |
265 | 280 |
266 // All signatures. | 281 // All signatures. |
267 #define FOREACH_SIGNATURE(V) \ | 282 #define FOREACH_SIGNATURE(V) \ |
268 V(i_ii, kAstI32, kAstI32, kAstI32) \ | 283 V(i_ii, kAstI32, kAstI32, kAstI32) \ |
269 V(i_i, kAstI32, kAstI32) \ | 284 V(i_i, kAstI32, kAstI32) \ |
270 V(i_v, kAstI32) \ | 285 V(i_v, kAstI32) \ |
271 V(i_ff, kAstI32, kAstF32, kAstF32) \ | 286 V(i_ff, kAstI32, kAstF32, kAstF32) \ |
272 V(i_f, kAstI32, kAstF32) \ | 287 V(i_f, kAstI32, kAstF32) \ |
273 V(i_dd, kAstI32, kAstF64, kAstF64) \ | 288 V(i_dd, kAstI32, kAstF64, kAstF64) \ |
274 V(i_d, kAstI32, kAstF64) \ | 289 V(i_d, kAstI32, kAstF64) \ |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
469 default: | 484 default: |
470 return "<unknown>"; | 485 return "<unknown>"; |
471 } | 486 } |
472 } | 487 } |
473 }; | 488 }; |
474 } // namespace wasm | 489 } // namespace wasm |
475 } // namespace internal | 490 } // namespace internal |
476 } // namespace v8 | 491 } // namespace v8 |
477 | 492 |
478 #endif // V8_WASM_OPCODES_H_ | 493 #endif // V8_WASM_OPCODES_H_ |
OLD | NEW |