|
Lines 39-45
namespace WASM {
a/Source/JavaScriptCore/wasm/WASMOps.h_sec1
|
| 39 |
macro(Return, 0x09, NA) \ |
39 |
macro(Return, 0x09, NA) \ |
| 40 |
macro(End, 0x0f, NA) |
40 |
macro(End, 0x0f, NA) |
| 41 |
|
41 |
|
| 42 |
#define FOR_EACH_WASM_UNARY_OP(macro) |
42 |
#define FOR_EACH_WASM_UNARY_OP(macro) \ |
|
|
43 |
macro(I32Clz, 0x57, Clz) \ |
| 44 |
/* macro(I32Ctz, 0x58) */ \ |
| 45 |
/* macro(I32PopCnt, 0x59) */ \ |
| 46 |
/* macro(I32Eqz, 0x5a) */ \ |
| 47 |
macro(I64Clz, 0x72, Clz) \ |
| 48 |
/* macro(I64Ctz, 0x73) */ \ |
| 49 |
/* macro(I64PopCnt, 0x74) */ \ |
| 50 |
/* macro(I64Eqz, 0xba) */ |
| 43 |
|
51 |
|
| 44 |
#define FOR_EACH_WASM_BINARY_OP(macro) \ |
52 |
#define FOR_EACH_WASM_BINARY_OP(macro) \ |
| 45 |
macro(I32Add, 0x40, Add) \ |
53 |
macro(I32Add, 0x40, Add) \ |
|
Lines 48-54
namespace WASM {
a/Source/JavaScriptCore/wasm/WASMOps.h_sec2
|
| 48 |
macro(I32DivS, 0x43, Div) \ |
56 |
macro(I32DivS, 0x43, Div) \ |
| 49 |
/* macro(I32DivU, 0x44) */ \ |
57 |
/* macro(I32DivU, 0x44) */ \ |
| 50 |
macro(I32RemS, 0x45, Mod) \ |
58 |
macro(I32RemS, 0x45, Mod) \ |
| 51 |
macro(I32RemU, 0x46, Mod) \ |
59 |
/* macro(I32RemU, 0x46, Mod) */ \ |
| 52 |
macro(I32And, 0x47, BitAnd) \ |
60 |
macro(I32And, 0x47, BitAnd) \ |
| 53 |
macro(I32Or, 0x48, BitOr) \ |
61 |
macro(I32Or, 0x48, BitOr) \ |
| 54 |
macro(I32Xor, 0x49, BitXor) \ |
62 |
macro(I32Xor, 0x49, BitXor) \ |
|
Lines 67-72
namespace WASM {
a/Source/JavaScriptCore/wasm/WASMOps.h_sec3
|
| 67 |
macro(I32GeS, 0x54, GreaterEqual) \ |
75 |
macro(I32GeS, 0x54, GreaterEqual) \ |
| 68 |
macro(I32GtU, 0x55, Above) \ |
76 |
macro(I32GtU, 0x55, Above) \ |
| 69 |
macro(I32GeU, 0x56, AboveEqual) \ |
77 |
macro(I32GeU, 0x56, AboveEqual) \ |
|
|
78 |
macro(I64Add, 0x5b, Add) \ |
| 79 |
macro(I64Sub, 0x5c, Sub) \ |
| 80 |
macro(I64Mul, 0x5d, Mul) \ |
| 81 |
macro(I64DivS, 0x5e, Div) \ |
| 82 |
/* macro(I64DivU, 0x5f) */ \ |
| 83 |
macro(I64RemS, 0x60, Mod) \ |
| 84 |
/* macro(I64RemU, 0x61) */ \ |
| 85 |
macro(I64And, 0x62, BitAnd) \ |
| 86 |
macro(I64Or, 0x63, BitOr) \ |
| 87 |
macro(I64Xor, 0x64, BitXor) \ |
| 88 |
macro(I64Shl, 0x65, Shl) \ |
| 89 |
macro(I64ShrU, 0x66, SShr) \ |
| 90 |
macro(I64ShrS, 0x67, ZShr) \ |
| 91 |
/* macro(I64RotR, 0xb8) */ \ |
| 92 |
/* macro(I64RotL, 0xb9) */ \ |
| 93 |
macro(I64Eq, 0x68, Equal) \ |
| 94 |
macro(I64Ne, 0x69, NotEqual) \ |
| 95 |
macro(I64LtS, 0x6a, LessThan) \ |
| 96 |
macro(I64LeS, 0x6b, LessEqual) \ |
| 97 |
macro(I64LtU, 0x6c, Below) \ |
| 98 |
macro(I64LeU, 0x6d, BelowEqual) \ |
| 99 |
|
| 70 |
|
100 |
|
| 71 |
#define FOR_EACH_WASM_OP(macro) \ |
101 |
#define FOR_EACH_WASM_OP(macro) \ |
| 72 |
FOR_EACH_WASM_SPECIAL_OP(macro) \ |
102 |
FOR_EACH_WASM_SPECIAL_OP(macro) \ |
|
Lines 80-95
enum WASMOpType : uint8_t {
a/Source/JavaScriptCore/wasm/WASMOps.h_sec4
|
| 80 |
FOR_EACH_WASM_OP(CREATE_ENUM_VALUE) |
110 |
FOR_EACH_WASM_OP(CREATE_ENUM_VALUE) |
| 81 |
}; |
111 |
}; |
| 82 |
|
112 |
|
| 83 |
|
|
|
| 84 |
|
| 85 |
enum class WASMBinaryOpType : uint8_t { |
113 |
enum class WASMBinaryOpType : uint8_t { |
| 86 |
FOR_EACH_WASM_BINARY_OP(CREATE_ENUM_VALUE) |
114 |
FOR_EACH_WASM_BINARY_OP(CREATE_ENUM_VALUE) |
| 87 |
}; |
115 |
}; |
| 88 |
|
116 |
|
|
|
117 |
enum class WASMUnaryOpType : uint8_t { |
| 118 |
FOR_EACH_WASM_UNARY_OP(CREATE_ENUM_VALUE) |
| 119 |
}; |
| 120 |
|
| 121 |
#undef CREATE_ENUM_VALUE |
| 122 |
|
| 89 |
} // namespace WASM |
123 |
} // namespace WASM |
| 90 |
|
124 |
|
| 91 |
} // namespace JSC |
125 |
} // namespace JSC |
| 92 |
|
126 |
|
| 93 |
#undef CREATE_ENUM_VALUE |
|
|
| 94 |
|
| 95 |
#endif // ENABLE(WEBASSEMBLY) |
127 |
#endif // ENABLE(WEBASSEMBLY) |