diff options
Diffstat (limited to 'src/routines/call.c')
| -rw-r--r-- | src/routines/call.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/routines/call.c b/src/routines/call.c new file mode 100644 index 0000000..c04c4f8 --- /dev/null +++ b/src/routines/call.c @@ -0,0 +1,33 @@ +/* + * nanowasm, a tiny WebAssembly/Wasm interpreter + * Copyright (C) 2023-2024 Xavier Del Campo Romero + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +#include <nanowasm/nw.h> +#include <nanowasm/types.h> +#include <nw/interp.h> +#include <nw/log.h> +#include <nw/routines.h> + +static enum nw_state push_locals(struct nw_interp *const i) +{ + LOG("%s: TODO\n", __func__); + return NW_FATAL; +} + +static enum nw_state find_function(struct nw_interp *const i) +{ + const struct nw_i_sm_type *const t = &i->sm.type; + + nwp_find_function(i, t->index, push_locals); + return NW_AGAIN; +} + +void nwp_call(struct nw_interp *const i, const nw_varuint32 index) +{ + nwp_get_function_type(i, index, find_function); +} |
