more sgc repairs

svn: r12777
This commit is contained in:
Matthew Flatt 2008-12-11 18:27:18 +00:00
parent ac63ab24da
commit 990e0e209a
3 changed files with 7 additions and 3 deletions

View File

@ -776,8 +776,6 @@ static long mem_traced;
static long num_chunks; static long num_chunks;
static long num_blocks; static long num_blocks;
typedef void (*GC_collect_start_callback_Proc)(void);
typedef void (*GC_collect_end_callback_Proc)(void);
GC_collect_start_callback_Proc GC_collect_start_callback; GC_collect_start_callback_Proc GC_collect_start_callback;
GC_collect_end_callback_Proc GC_collect_end_callback; GC_collect_end_callback_Proc GC_collect_end_callback;
void (*GC_custom_finalize)(void); void (*GC_custom_finalize)(void);
@ -795,6 +793,7 @@ GC_collect_end_callback_Proc GC_set_collect_end_callback(GC_collect_end_callback
return old; return old;
} }
static long roots_count; static long roots_count;
static long roots_size; static long roots_size;
static unsigned long *roots; static unsigned long *roots;

View File

@ -36,6 +36,11 @@ void *GC_malloc_stubborn(size_t size_in_bytes);
void *GC_malloc_uncollectable(size_t size_in_bytes); void *GC_malloc_uncollectable(size_t size_in_bytes);
void *GC_malloc_atomic_uncollectable(size_t size_in_bytes); void *GC_malloc_atomic_uncollectable(size_t size_in_bytes);
typedef void (*GC_collect_start_callback_Proc)(void);
typedef void (*GC_collect_end_callback_Proc)(void);
GC_collect_start_callback_Proc GC_set_collect_start_callback(GC_collect_start_callback_Proc);
GC_collect_end_callback_Proc GC_set_collect_end_callback(GC_collect_end_callback_Proc);
void GC_free(void *); /* ... but only if it's turned on in sgc.c. */ void GC_free(void *); /* ... but only if it's turned on in sgc.c. */
struct GC_Set; struct GC_Set;

View File

@ -2147,7 +2147,7 @@ static Scheme_Thread *make_thread(Scheme_Config *config,
scheme_fuel_counter_ptr = &scheme_fuel_counter; scheme_fuel_counter_ptr = &scheme_fuel_counter;
#endif #endif
#if defined(MZ_PRECISE_GC) || defined(USE_SENORA_GC) #if defined(MZ_PRECISE_GC)
GC_set_get_thread_stack_base(scheme_get_current_thread_stack_start); GC_set_get_thread_stack_base(scheme_get_current_thread_stack_start);
#endif #endif
process->stack_start = stack_base; process->stack_start = stack_base;