diff options
| author | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2024-09-07 00:04:38 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2024-10-05 08:17:21 +0200 |
| commit | 144b7fe1415ff97497fa4ea3b95e8dd6b95d069e (patch) | |
| tree | 68391f6ec2dba2879ca8255ee25ce39ebaa7d4ad /src/routines/call.c | |
| download | nanowasm-1st.tar.gz | |
First commit1st
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); +} |
