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:
parent
aacaa6e38c
commit
1656fc1d81
1 changed files with 25 additions and 0 deletions
25
tests/jmpi_local.c
Normal file
25
tests/jmpi_local.c
Normal 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);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue