diff options
Diffstat (limited to 'tests/link-register.c')
-rw-r--r-- | tests/link-register.c | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/tests/link-register.c b/tests/link-register.c deleted file mode 100644 index 9e5413b..0000000 --- a/tests/link-register.c +++ /dev/null @@ -1,35 +0,0 @@ -#include "test.h" - -static void -run_test(jit_state_t *j, uint8_t *arena_base, size_t arena_size) -{ - jit_begin(j, arena_base, arena_size); - size_t align = jit_enter_jit_abi(j, 0, 0, 0); - jit_load_args_1(j, jit_operand_gpr (JIT_OPERAND_ABI_POINTER, JIT_R0)); - - jit_reloc_t call_tramp = jit_jmp (j); - - void *tramp = jit_address (j); - jit_pop_link_register (j); - jit_movr (j, JIT_R0, JIT_LR); - jit_leave_jit_abi(j, 0, 0, align); - jit_retr (j, JIT_R0); - - jit_patch_here (j, call_tramp); - jit_jmpi_with_link (j, tramp); - - void *expected_link = jit_address_to_function_pointer (jit_address (j)); - - size_t size = 0; - void* ret = jit_end(j, &size); - - void* (*f)(void) = ret; - - ASSERT(f() == expected_link); -} - -int -main (int argc, char *argv[]) -{ - return main_helper(argc, argv, run_test); -} |