diff options
author | Andy Wingo <wingo@pobox.com> | 2019-05-21 14:00:55 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2019-05-21 14:00:55 +0200 |
commit | 2feb4cf419f22f9d1d464b77b8618710b98772fe (patch) | |
tree | ad96679728d48fc07c325698e88e2b32da926192 /libguile | |
parent | e00936d46bdb4a2d90ffa1f5d5ccf4790dce84c8 (diff) | |
parent | 0518651bfda2f54af3c8fff8274acc7037420bf1 (diff) | |
download | guile-2feb4cf419f22f9d1d464b77b8618710b98772fe.tar.gz |
Merge remote-tracking branch 'lightening/master'
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 |