Index: src/wasm/wasm-macro-gen.h |
diff --git a/src/wasm/wasm-macro-gen.h b/src/wasm/wasm-macro-gen.h |
index 2b7d16af5459e876c2e61004aad5f5744ec68ec6..e40a2d4aaccc5633115d99c74aad5dfb66bb7b17 100644 |
--- a/src/wasm/wasm-macro-gen.h |
+++ b/src/wasm/wasm-macro-gen.h |
@@ -277,4 +277,28 @@ |
#define FUNC_INDEX(v) U16_LE(v) |
#define NAME_OFFSET(v) U32_LE(v) |
+#define MASK_7 ((1 << 7) - 1) |
+#define MASK_14 ((1 << 14) - 1) |
+#define MASK_21 ((1 << 21) - 1) |
+#define MASK_28 ((1 << 28) - 1) |
+ |
+#define U32V_1(x) static_cast<byte>(x & MASK_7) |
+#define U32V_2(x) \ |
+ static_cast<byte>((x & MASK_7) | 0x80), static_cast<byte>((x >> 7) & MASK_7) |
+#define U32V_3(x) \ |
+ static_cast<byte>((x & MASK_7) | 0x80), \ |
+ static_cast<byte>(((x >> 7) & MASK_7) | 0x80), \ |
+ static_cast<byte>((x >> 14) & MASK_7) |
+#define U32V_4(x) \ |
+ static_cast<byte>((x & MASK_7) | 0x80), \ |
+ static_cast<byte>(((x >> 7) & MASK_7) | 0x80), \ |
+ static_cast<byte>(((x >> 14) & MASK_7) | 0x80), \ |
+ static_cast<byte>((x >> 21) & MASK_7) |
+#define U32V_5(x) \ |
+ static_cast<byte>((x & MASK_7) | 0x80), \ |
+ static_cast<byte>(((x >> 7) & MASK_7) | 0x80), \ |
+ static_cast<byte>(((x >> 14) & MASK_7) | 0x80), \ |
+ static_cast<byte>(((x >> 21) & MASK_7) | 0x80), \ |
+ static_cast<byte>((x >> 28) & 0xF) |
+ |
#endif // V8_WASM_MACRO_GEN_H_ |