aboutsummaryrefslogtreecommitdiff
path: root/src/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common.h')
-rw-r--r--src/common.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/common.h b/src/common.h
index eb91409..64ca250 100644
--- a/src/common.h
+++ b/src/common.h
@@ -261,27 +261,33 @@ struct ejit_func {
};
-union interp_ret {
- int64_t r;
- double d;
-};
-
struct interp_state {
struct gprs gprs;
struct fprs fprs;
struct args args;
};
-union interp_ret ejit_interp(struct ejit_func *f, size_t argc,
+int64_t ejit_interp(struct ejit_func *f, size_t argc,
+ struct ejit_arg args[argc],
+ struct interp_state *state, bool run,
+ void ***labels_wb);
+
+double ejit_interp_f(struct ejit_func *f, size_t argc,
struct ejit_arg args[argc],
struct interp_state *state, bool run,
void ***labels_wb);
int64_t ejit_run_interp(struct ejit_func *f, size_t argc,
- struct ejit_arg args[static argc], struct interp_state *state);
+ struct ejit_arg args[argc],
+ struct interp_state *state,
+ bool run,
+ void ***labels_wb);
double ejit_run_interp_f(struct ejit_func *f, size_t argc,
- struct ejit_arg args[static argc], struct interp_state *state);
+ struct ejit_arg args[argc],
+ struct interp_state *state,
+ bool run,
+ void ***labels_wb);
bool ejit_compile(struct ejit_func *f, bool use_64);