diff options
author | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-07-13 20:56:26 +0300 |
---|---|---|
committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-07-13 20:56:26 +0300 |
commit | ae9e103995c1d809be7b8717905593e7dbbf9d17 (patch) | |
tree | 0ceaf6ee66e1d67bb8d0b9dd6f37b5687e4c2f09 /tests/movi.c | |
parent | e618924df98d4ee5037db86c768a8c8014e49c4c (diff) | |
download | ejit-ae9e103995c1d809be7b8717905593e7dbbf9d17.tar.gz ejit-ae9e103995c1d809be7b8717905593e7dbbf9d17.zip |
bytecode tests pass
Diffstat (limited to 'tests/movi.c')
-rw-r--r-- | tests/movi.c | 28 |
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); } |