diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/wasm-ast.c | 8 |
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) { |