diff options
Diffstat (limited to 'src/asm_v_wasm.h')
-rw-r--r-- | src/asm_v_wasm.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/asm_v_wasm.h b/src/asm_v_wasm.h index f59d51d25..323d255ee 100644 --- a/src/asm_v_wasm.h +++ b/src/asm_v_wasm.h @@ -27,7 +27,27 @@ AsmType wasmToAsmType(WasmType type) { abort(); } +char getSig(WasmType type) { + switch (type) { + case i32: return 'i'; + case f32: return 'f'; + case f64: return 'd'; + case none: return 'v'; + default: abort(); + } +} + +std::string getSig(FunctionType *type) { + // generate signature + std::string ret; + ret += getSig(type->result); + for (auto param : type->params) { + ret += getSig(param); + } + return ret; } +} // namespace wasm + #endif // _asm_v_wasm_h_ |