1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-29 16:30:19 +02:00

Add a test for local forward and backward jumps

This commit is contained in:
Icecream95 2020-04-09 17:31:25 +12:00
parent aacaa6e38c
commit 1656fc1d81
No known key found for this signature in database
GPG key ID: 339D18472C107D93

25
tests/jmpi_local.c Normal file
View file

@ -0,0 +1,25 @@
#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);
jit_reloc_t r = jit_jmp (j);
jit_reti (j, 0);
jit_pointer_t addr = jit_address (j);
jit_reti (j, 1);
jit_patch_here (j, r);
jit_jmpi (j, addr);
jit_reti (j, 2);
int (*f)(void) = jit_end(j, NULL);
ASSERT(f() == 1);
}
int
main (int argc, char *argv[])
{
return main_helper(argc, argv, run_test);
}