aboutsummaryrefslogtreecommitdiff
path: root/tools/wasm.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/wasm.h')
-rw-r--r--tools/wasm.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/tools/wasm.h b/tools/wasm.h
index 07252fc..bf85490 100644
--- a/tools/wasm.h
+++ b/tools/wasm.h
@@ -22,6 +22,8 @@
#define EXPORT_GLOBALIDX 0x03
/* WebAssembly opcodes */
+#define WASM_IF 0x04
+#define WASM_ELSE 0x05
#define WASM_END 0x0B
#define WASM_CALL 0x10
@@ -43,3 +45,31 @@
#define WASM_I32_SUB 0x6B
#define WASM_I32_MUL 0x6C
#define WASM_I32_DIV_U 0x6E
+
+static inline int is_valid_valtype(char value_type)
+{
+ if (value_type == VALTYPE_I32)
+ return 1;
+
+ if (value_type == VALTYPE_I64 ||
+ value_type == VALTYPE_F32 ||
+ value_type == VALTYPE_F64)
+ PRERR("Only type i32 is recognized for now");
+
+ return -1;
+
+ /* return */
+ /* value_type == VALTYPE_I32 || */
+ /* value_type == VALTYPE_I64 || */
+ /* value_type == VALTYPE_F32 || */
+ /* value_type == VALTYPE_F64; */
+}
+
+static inline int is_valid_exportdesc(char desc)
+{
+ return
+ desc == EXPORT_FUNCIDX ||
+ desc == EXPORT_TABLEIDX ||
+ desc == EXPORT_MEMIDX ||
+ desc == EXPORT_GLOBALIDX;
+}