aboutsummaryrefslogtreecommitdiff
path: root/tests/movi.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-07-13 20:56:26 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2024-07-13 20:56:26 +0300
commitae9e103995c1d809be7b8717905593e7dbbf9d17 (patch)
tree0ceaf6ee66e1d67bb8d0b9dd6f37b5687e4c2f09 /tests/movi.c
parente618924df98d4ee5037db86c768a8c8014e49c4c (diff)
downloadejit-ae9e103995c1d809be7b8717905593e7dbbf9d17.tar.gz
ejit-ae9e103995c1d809be7b8717905593e7dbbf9d17.zip
bytecode tests pass
Diffstat (limited to 'tests/movi.c')
-rw-r--r--tests/movi.c28
1 files changed, 10 insertions, 18 deletions
diff --git a/tests/movi.c b/tests/movi.c
index 1282b6f..9854088 100644
--- a/tests/movi.c
+++ b/tests/movi.c
@@ -1,22 +1,14 @@
-#include "test.h"
+#include <ejit/ejit.h>
+#include <assert.h>
+#include "do_jit.h"
-static void
-run_test(jit_state_t *j, uint8_t *arena_base, size_t arena_size)
+int main()
{
- jit_begin(j, arena_base, arena_size);
- size_t align = jit_enter_jit_abi(j, 0, 0, 0);
+ struct ejit_func *f = ejit_create_func(EJIT_TYPE(int), 0, NULL);
+ ejit_movi(f, EJIT_GPR(0), 0xa500a500);
+ ejit_retr(f, EJIT_GPR(0));
+ ejit_select_compile_func(f, 1, 0, EJIT_USE64(int), do_jit);
- jit_movi(j, JIT_R0, 0xa500a500);
- jit_leave_jit_abi(j, 0, 0, align);
- jit_retr(j, JIT_R0);
-
- jit_uword_t (*f)(void) = jit_end(j, NULL);
-
- ASSERT(f() == 0xa500a500);
-}
-
-int
-main (int argc, char *argv[])
-{
- return main_helper(argc, argv, run_test);
+ assert(ejit_run_func(f, 0, NULL) == 0xa500a500);
+ ejit_destroy_func(f);
}