2007-02-05 Roman Zippel <zippel@linux-m68k.org>
* boehm-gc/include/private/gcconfig.h: use LINUX_STACKBOTTOM so
it works with Linux 2.6, reactivate MPROTECT_VDB
* boehm-gc/pthread_stop_world.c: save all register
on signal entry
From-SVN: r121606
* pthread_stop_world.c (GC_suspend_handler): Redirect to suspension
routine if signal is received and thread is flagged SUSPENDED.
(suspend_self): New function.
(GC_suspend_thread): New function.
(GC_resume_thread): New function.
* include/gc.h (GC_suspend_thread): Declare.
(GC_resumet_thread): Declare.
* include/private/pthread_support.h (SUSPENDED): New GC_thread
flag.
From-SVN: r114869
* allchblk.c (GC_allochblk_nth): Dont overlook available space if
GC disabled, correctly convert GC_finalizer_mem_freed to byte,
total_size to words.
* dyn_load.c (win32 GC_register_dynamic_libraries): Consider only
MEM_IMAGE regions.
* mach_dep.c (GC_with_callee_saves_pushed): separate into new function,
and indent appropriately.
* mark_rts.c (GC_approx_sp): Access stack.
* pthread_stop_world.c: (GC_suspend_handler): Explicitly push
callee-saves registers when appropriate.
(GC_stop_world): Handle EINTR from sem_wait (sync with Mono GC).
From-SVN: r94776