diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2011-07-26 15:29:12 +0400 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2011-07-26 15:29:12 +0400 |
commit | c63ec8250de446bca83601966c918d37ad120a83 (patch) | |
tree | aa7aaed00ff0e4bfc7c283b4679b02caed79d9d6 /mach_dep.c | |
parent | e9faf6971ce03082cf82bdfaea1fa06741753379 (diff) | |
download | bdwgc-c63ec8250de446bca83601966c918d37ad120a83.tar.gz |
gc4.14 tarball importgc4_14
Diffstat (limited to 'mach_dep.c')
-rw-r--r-- | mach_dep.c | 32 |
1 files changed, 18 insertions, 14 deletions
@@ -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. */ |