summaryrefslogtreecommitdiff
path: root/mach_dep.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2011-07-26 15:29:12 +0400
committerIvan Maidanski <ivmai@mail.ru>2011-07-26 15:29:12 +0400
commitc63ec8250de446bca83601966c918d37ad120a83 (patch)
treeaa7aaed00ff0e4bfc7c283b4679b02caed79d9d6 /mach_dep.c
parente9faf6971ce03082cf82bdfaea1fa06741753379 (diff)
downloadbdwgc-c63ec8250de446bca83601966c918d37ad120a83.tar.gz
gc4.14 tarball importgc4_14
Diffstat (limited to 'mach_dep.c')
-rw-r--r--mach_dep.c32
1 files changed, 18 insertions, 14 deletions
diff --git a/mach_dep.c b/mach_dep.c
index 20931c2b..23e270e3 100644
--- a/mach_dep.c
+++ b/mach_dep.c
@@ -64,6 +64,7 @@ asm static void PushMacRegisters()
/* on your architecture. Run the test_setjmp program to see whether */
/* there is any chance it will work. */
+#ifndef USE_GENERIC_PUSH_REGS
void GC_push_regs()
{
# ifdef RT
@@ -309,7 +310,21 @@ void GC_push_regs()
# endif /* M68K/SYSV */
-# if defined(HP_PA) || defined(M88K) || defined(POWERPC) || (defined(I386) && (defined(OS2) || defined(USE_GENERIC))) || defined(UTS4)
+ /* other machines... */
+# if !(defined M68K) && !(defined VAX) && !(defined RT)
+# if !(defined SPARC) && !(defined I386) && !(defined NS32K)
+# if !defined(POWERPC) && !defined(UTS4)
+ --> bad news <--
+# endif
+# endif
+# endif
+}
+#endif /* !USE_GENERIC_PUSH_REGS */
+
+#if defined(USE_GENERIC_PUSH_REGS)
+void GC_generic_push_regs(cold_gc_frame)
+ptr_t cold_gc_frame;
+{
/* Generic code */
/* The idea is due to Parag Patel at HP. */
/* We're not sure whether he would like */
@@ -329,21 +344,10 @@ void GC_push_regs()
# else
(void) _setjmp(regs);
# endif
- GC_push_all_stack((ptr_t)regs, lim);
+ GC_push_current_stack(cold_gc_frame);
}
-# endif
-
- /* other machines... */
-# if !(defined M68K) && !(defined VAX) && !(defined RT)
-# if !(defined SPARC) && !(defined I386) && !(defined NS32K)
-# if !defined(HP_PA) && !defined(M88K) && !defined(POWERPC)
-# if !defined(UTS4)
- --> bad news <--
-# endif
-# endif
-# endif
-# endif
}
+#endif /* USE_GENERIC_PUSH_REGS */
/* On register window machines, we need a way to force registers into */
/* the stack. Return sp. */