[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dotgnu-pnet-commits] libjit ChangeLog jit/jit-walk.c include/jit/jit...
From: |
Aleksey Demakov |
Subject: |
[dotgnu-pnet-commits] libjit ChangeLog jit/jit-walk.c include/jit/jit... |
Date: |
Wed, 21 May 2008 08:36:31 +0000 |
CVSROOT: /sources/dotgnu-pnet
Module name: libjit
Changes by: Aleksey Demakov <avd> 08/05/21 08:36:30
Modified files:
. : ChangeLog
jit : jit-walk.c
include/jit : jit-walk.h
Log message:
use _JIT_ARCH_GET_NEXT_FRAME if defined; use gcc syntax only #ifdef
__GNUC__
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libjit/ChangeLog?cvsroot=dotgnu-pnet&r1=1.371&r2=1.372
http://cvs.savannah.gnu.org/viewcvs/libjit/jit/jit-walk.c?cvsroot=dotgnu-pnet&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/libjit/include/jit/jit-walk.h?cvsroot=dotgnu-pnet&r1=1.4&r2=1.5
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/ChangeLog,v
retrieving revision 1.371
retrieving revision 1.372
diff -u -b -r1.371 -r1.372
--- ChangeLog 12 May 2008 14:02:07 -0000 1.371
+++ ChangeLog 21 May 2008 08:36:29 -0000 1.372
@@ -1,3 +1,9 @@
+2008-05-21 Aleksey Demakov <address@hidden>
+
+ * include/jit/jit-walk.h (jit_get_next_frame_address): use
+ JIT_ARCH_GET_NEXT_FRAME if defined, use gcc syntax only if
+ defined __GNUC__.
+
2008-05-12 Klaus Treichel <address@hidden>
* jit/jit-apply-x86-64.h: Include jit/jit-common.h instead of
Index: jit/jit-walk.c
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/jit/jit-walk.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- jit/jit-walk.c 24 Jan 2008 20:12:54 -0000 1.4
+++ jit/jit-walk.c 21 May 2008 08:36:30 -0000 1.5
@@ -159,7 +159,7 @@
* the next frame up the stack.
* @end deftypefun
@*/
-void *jit_get_next_frame_address(void *frame)
+void *_jit_get_next_frame_address(void *frame)
{
if(frame)
{
Index: include/jit/jit-walk.h
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/include/jit/jit-walk.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- include/jit/jit-walk.h 13 Apr 2008 16:14:15 -0000 1.4
+++ include/jit/jit-walk.h 21 May 2008 08:36:30 -0000 1.5
@@ -33,10 +33,10 @@
*/
void *_jit_get_frame_address(void *start, unsigned int n);
#if defined(__GNUC__)
-#define jit_get_frame_address(n) \
+# define jit_get_frame_address(n) \
(_jit_get_frame_address(jit_get_current_frame(), (n)))
#else
-#define jit_get_frame_address(n) (_jit_get_frame_address(0, (n)))
+# define jit_get_frame_address(n) (_jit_get_frame_address(0, (n)))
#endif
/*
@@ -47,67 +47,82 @@
* _JIT_ARCH_GET_CURRENT_FRAME() if available.
*/
#if defined(__GNUC__)
-#if defined(_JIT_ARCH_GET_CURRENT_FRAME)
-#define jit_get_current_frame() \
+# define JIT_FAST_GET_CURRENT_FRAME 1
+# if defined(_JIT_ARCH_GET_CURRENT_FRAME)
+# define jit_get_current_frame() \
({ \
void *address; \
_JIT_ARCH_GET_CURRENT_FRAME(address); \
address; \
})
+# else
+# define jit_get_current_frame() (__builtin_frame_address(0))
+# endif
#else
-#define jit_get_current_frame() (__builtin_frame_address(0))
-#endif
-#else
-#define jit_get_current_frame() (jit_get_frame_address(0))
+# define JIT_FAST_GET_CURRENT_FRAME 0
+# define jit_get_current_frame() (jit_get_frame_address(0))
#endif
/*
* Get the next frame up the stack from a specified frame.
* Returns NULL if it isn't possible to retrieve the next frame.
*/
-void *jit_get_next_frame_address(void *frame);
+void *_jit_get_next_frame_address(void *frame);
+#if defined(__GNUC__) && defined(_JIT_ARCH_GET_NEXT_FRAME)
+# define jit_get_next_frame_address(frame) \
+ ({ \
+ void *address; \
+ _JIT_ARCH_GET_NEXT_FRAME(address); \
+ address; \
+ })
+#else
+# define jit_get_next_frame_address(frame) \
+ (_jit_get_next_frame_address(frame))
+#endif
/*
* Get the return address for a specific frame.
*/
void *_jit_get_return_address(void *frame, void *frame0, void *return0);
-#if defined(_JIT_ARCH_GET_RETURN_ADDRESS)
-#define jit_get_return_address(frame) \
+#if defined(__GNUC__)
+# if defined(_JIT_ARCH_GET_RETURN_ADDRESS)
+# define jit_get_return_address(frame) \
({ \
void *address; \
_JIT_ARCH_GET_RETURN_ADDRESS(address, (frame)); \
address; \
})
-#else
-#if defined(__GNUC__)
-#define jit_get_return_address(frame) \
+# else
+# define jit_get_return_address(frame) \
(_jit_get_return_address \
- ((frame), __builtin_frame_address(0),
__builtin_return_address(0)))
+ ((frame), \
+ __builtin_frame_address(0), \
+ __builtin_return_address(0)))
+# endif
#else
-#define jit_get_return_address(frame) \
+# define jit_get_return_address(frame) \
(_jit_get_return_address((frame), 0, 0))
#endif
-#endif
/*
* Get the return address for the current frame. May be more efficient
* than using "jit_get_return_address(0)".
*/
-#if defined(_JIT_ARCH_GET_CURRENT_RETURN)
-#define jit_get_current_return() \
+#if defined(__GNUC__)
+# if defined(_JIT_ARCH_GET_CURRENT_RETURN)
+# define jit_get_current_return() \
({ \
void *address; \
_JIT_ARCH_GET_CURRENT_RETURN(address); \
address; \
})
+# else
+# define jit_get_current_return() (__builtin_return_address(0))
+# endif
#else
-#if defined(__GNUC__)
-#define jit_get_current_return() (__builtin_return_address(0))
-#else
-#define jit_get_current_return() \
+# define jit_get_current_return() \
(jit_get_return_address(jit_get_current_frame()))
#endif
-#endif
/*
* Declare a stack crawl mark variable. The address of this variable
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [dotgnu-pnet-commits] libjit ChangeLog jit/jit-walk.c include/jit/jit...,
Aleksey Demakov <=