summaryrefslogtreecommitdiff
path: root/mach_dep.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2022-01-12 09:45:32 +0300
committerIvan Maidanski <ivmai@mail.ru>2022-01-12 10:01:15 +0300
commit1257da4617c984e9f42e733e4e075a3ef05f4162 (patch)
tree67f8f15a88c56efacadab8fe15dd78881be3116d /mach_dep.c
parent4314f58c1129264e66540d1ed3ac6972141ac3b1 (diff)
downloadbdwgc-1257da4617c984e9f42e733e4e075a3ef05f4162.tar.gz
Define GC_save_regs_ret_val variable only if used (IA64)
(refactoring) * mach_dep.c [IA64] (GC_save_regs_ret_val): Do not define variable if SPARC or THREADS. * mach_dep.c [IA64 || SPARC] (GC_with_callee_saves_pushed): Do not store result of GC_save_regs_in_stack() to GC_save_regs_ret_val if SPARC or THREADS.
Diffstat (limited to 'mach_dep.c')
-rw-r--r--mach_dep.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/mach_dep.c b/mach_dep.c
index e6815919..c3e17e27 100644
--- a/mach_dep.c
+++ b/mach_dep.c
@@ -190,9 +190,8 @@
#endif /* MACOS && __MWERKS__ */
-# if defined(SPARC) || defined(IA64)
- /* Value returned from register flushing routine; either sp (SPARC) */
- /* or ar.bsp (IA64). */
+# if defined(IA64) && !defined(THREADS)
+ /* Value returned from register flushing routine (ar.bsp). */
GC_INNER ptr_t GC_save_regs_ret_val = NULL;
# endif
@@ -388,7 +387,7 @@ GC_INNER void GC_with_callee_saves_pushed(void (*fn)(ptr_t, void *),
/* On a register window machine, we need to save register */
/* contents on the stack for this to work. This may already be */
/* subsumed by the getcontext() call. */
-# if defined(IA64) || defined(SPARC)
+# if defined(IA64) && !defined(THREADS)
GC_save_regs_ret_val =
# endif
GC_save_regs_in_stack();