2 * Support code for cooperative coop/quick threads.
3 * Copyright (c) 1998, 1999 Cygnus Solutions.
6 #include "boehm-config.h"
14 void GC_push_all_stacks (void)
19 t
= coop_first_thread ();
23 /* Threads haven't started, so mark the real stack. */
24 #ifdef STACK_GROWS_DOWN
25 GC_push_all_stack( GC_approx_sp(), GC_stackbottom
);
27 GC_push_all_stack( GC_stackbottom
, GC_approx_sp() );
32 for ( ; t
!= NULL
; t
= coop_next_thread (t
))
34 if (t
== coop_global_curr
)
39 /* LO can be NULL when the new thread has not yet been
46 #ifdef STACK_GROWS_DOWN
47 GC_push_all_stack (lo
, hi
);
49 GC_push_all_stack (hi
, lo
);
55 #endif /* QUICK_THREADS */