aboutsummaryrefslogtreecommitdiff
path: root/src/op/loop.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/op/loop.c')
-rw-r--r--src/op/loop.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/op/loop.c b/src/op/loop.c
index e129610..cb3137b 100644
--- a/src/op/loop.c
+++ b/src/op/loop.c
@@ -8,9 +8,17 @@
*/
#include <nanowasm/nw.h>
+#include <nw/interp.h>
+#include <nw/ops.h>
#include <nw/routines.h>
+static enum nw_state resume(struct nw_interp *const i)
+{
+ nwp_interp_resume(i);
+ return NW_AGAIN;
+}
+
void nwp_op_loop(struct nw_interp *const i)
{
- nwp_start_block(i);
+ nwp_start_block(i, &i->sm.start_block, resume);
}