diff options
Diffstat (limited to 'libguile')
-rw-r--r-- | libguile/lightening/lightening.h | 2 | ||||
-rw-r--r-- | libguile/lightening/lightening/lightening.c | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/libguile/lightening/lightening.h b/libguile/lightening/lightening.h index 23635a01d..32e3e3acc 100644 --- a/libguile/lightening/lightening.h +++ b/libguile/lightening/lightening.h @@ -218,6 +218,8 @@ JIT_API void* jit_end(jit_state_t*, size_t*); JIT_API void jit_align(jit_state_t*, unsigned); JIT_API jit_pointer_t jit_address(jit_state_t*); +typedef void (*jit_function_pointer_t)(); +JIT_API jit_function_pointer_t jit_address_to_function_pointer(jit_pointer_t); JIT_API void jit_patch_here(jit_state_t*, jit_reloc_t); JIT_API void jit_patch_there(jit_state_t*, jit_reloc_t, jit_pointer_t); diff --git a/libguile/lightening/lightening/lightening.c b/libguile/lightening/lightening/lightening.c index 97bf29411..6d6d5ee73 100644 --- a/libguile/lightening/lightening/lightening.c +++ b/libguile/lightening/lightening/lightening.c @@ -206,6 +206,12 @@ jit_reset(jit_state_t *_jit) #endif } +jit_function_pointer_t +jit_address_to_function_pointer(jit_pointer_t p) +{ + return bless_function_pointer(p); +} + void* jit_end(jit_state_t *_jit, size_t *length) { @@ -237,7 +243,7 @@ jit_end(jit_state_t *_jit, size_t *length) clear_literal_pool(_jit->pool); #endif - return bless_function_pointer(start); + return jit_address_to_function_pointer(start); } static int |