aboutsummaryrefslogtreecommitdiff
path: root/src/interp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp.c')
-rw-r--r--src/interp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/interp.c b/src/interp.c
index 4f034f7..9c3aea3 100644
--- a/src/interp.c
+++ b/src/interp.c
@@ -34,6 +34,8 @@ union interp_ret ejit_interp(struct ejit_func *f, size_t argc, struct ejit_arg a
[RET_F] = &&RET_F,
[RET_FI] = &&RET_FI,
+ [RETVAL] = &&RETVAL,
+
[ARG] = &&ARG,
[ARG_I] = &&ARG_I,
[ARG_F] = &&ARG_F,
@@ -158,6 +160,10 @@ union interp_ret ejit_interp(struct ejit_func *f, size_t argc, struct ejit_arg a
JUMP(i.r0);
DISPATCH();
+ DO(RETVAL);
+ gpr[i.r0] = retval;
+ DISPATCH();
+
DO(PARAM);
gpr[i.r2] = args[i.r0].l;
DISPATCH();