summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/wasm-ast.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/wasm-ast.c b/src/wasm-ast.c
index 1420196d..d641eb6c 100644
--- a/src/wasm-ast.c
+++ b/src/wasm-ast.c
@@ -206,9 +206,13 @@ int wasm_get_local_index_by_var(const WasmFunc* func, const WasmVar* var) {
int result = find_binding_index_by_name(&func->param_bindings, &var->name);
if (result != -1)
return result;
+
+ result = find_binding_index_by_name(&func->local_bindings, &var->name);
+ if (result == -1)
+ return result;
+
/* the locals start after all the params */
- return func->decl.sig.param_types.size +
- find_binding_index_by_name(&func->local_bindings, &var->name);
+ return func->decl.sig.param_types.size + result;
}
WasmFuncPtr wasm_get_func_by_var(const WasmModule* module, const WasmVar* var) {