lightning.git - Portable just-in-time compiler library

index : lightning.git
Portable just-in-time compiler library
summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat
-rw-r--r--ChangeLog 9
-rw-r--r--include/lightning.h 2
-rw-r--r--lib/lightning.c 7
3 files changed, 18 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ec642cc..892de2a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2013年10月14日 Paulo Andrade <pcpa@gnu.org>
+
+ * include/lightning.h, lib/lightning.c: Add the new
+ jit_pointer_p interface, that returns a boolean value
+ telling if the pointer argument is inside the jit
+ code buffer. This is useful to avoid the need to add
+ extra labels and calls to jit_address to figure bounds
+ of code buffer, and still keep internal data private.
+
2013年10月13日 Paulo Andrade <pcpa@gnu.org>
* include/lightning.h, include/lightning/jit_private.h,
diff --git a/include/lightning.h b/include/lightning.h
index 3466c4a..561c559 100644
--- a/include/lightning.h
+++ b/include/lightning.h
@@ -953,6 +953,8 @@ extern jit_node_t *_jit_new_node_pwd(jit_state_t*, jit_code_t,
#define jit_callee_save_p(u) _jit_callee_save_p(_jit,u)
extern jit_bool_t _jit_callee_save_p(jit_state_t*, jit_int32_t);
+#define jit_pointer_p(u) _jit_pointer_p(_jit,u)
+extern jit_bool_t _jit_pointer_p(jit_state_t*,jit_pointer_t);
#define jit_get_note(n,u,v,w) _jit_get_note(_jit,n,u,v,w)
extern jit_bool_t _jit_get_note(jit_state_t*,jit_pointer_t,char**,char**,int*);
diff --git a/lib/lightning.c b/lib/lightning.c
index 58e7130..817976c 100644
--- a/lib/lightning.c
+++ b/lib/lightning.c
@@ -337,6 +337,13 @@ _jit_callee_save_p(jit_state_t *_jit, jit_int32_t regno)
return (!!(_rvs[regno].spec & jit_class_sav));
}
+extern jit_bool_t
+_jit_pointer_p(jit_state_t *_jit, jit_pointer_t address)
+{
+ return ((jit_uint8_t *)address >= _jit->code.ptr &&
+ (jit_word_t)address < _jit->pc.w);
+}
+
#if __ia64__
void
jit_regset_com(jit_regset_t *u, jit_regset_t *v)
generated by cgit v1.2.3 (git 2.46.0) at 2025年10月02日 15:02:05 +0000

AltStyle によって変換されたページ (->オリジナル) /