version 1.6, 2002/07/24 08:00:06 |
version 1.7, 2002/07/24 09:44:21 |
Line 93 extern signed_word GC_mem_found; /* Number of reclaim |
|
Line 93 extern signed_word GC_mem_found; /* Number of reclaim |
|
GC_bool GC_dont_expand = 0; |
GC_bool GC_dont_expand = 0; |
|
|
word GC_free_space_divisor = 3; |
word GC_free_space_divisor = 3; |
|
word GC_free_space_numerator = 1; |
|
|
extern GC_bool GC_collection_in_progress(); |
extern GC_bool GC_collection_in_progress(); |
/* Collection is in progress, or was abandoned. */ |
/* Collection is in progress, or was abandoned. */ |
Line 159 static word min_words_allocd() |
|
Line 160 static word min_words_allocd() |
|
/* use a bit more of large empty heap */ |
/* use a bit more of large empty heap */ |
+ total_root_size); |
+ total_root_size); |
if (TRUE_INCREMENTAL) { |
if (TRUE_INCREMENTAL) { |
return scan_size / (2 * GC_free_space_divisor); |
return scan_size * GC_free_space_numerator / (2 * GC_free_space_divisor); |
} else { |
} else { |
return scan_size / GC_free_space_divisor; |
return scan_size * GC_free_space_numerator / GC_free_space_divisor; |
} |
} |
} |
} |
|
|
Line 463 GC_stop_func stop_func; |
|
Line 464 GC_stop_func stop_func; |
|
# if defined(CONDPRINT) && !defined(PRINTTIMES) |
# if defined(CONDPRINT) && !defined(PRINTTIMES) |
if (GC_print_stats) GET_TIME(start_time); |
if (GC_print_stats) GET_TIME(start_time); |
# endif |
# endif |
|
GC_timerstart(); |
STOP_WORLD(); |
STOP_WORLD(); |
# ifdef CONDPRINT |
# ifdef CONDPRINT |
if (GC_print_stats) { |
if (GC_print_stats) { |
Line 495 GC_stop_func stop_func; |
|
Line 497 GC_stop_func stop_func; |
|
# endif |
# endif |
GC_deficit = i; /* Give the mutator a chance. */ |
GC_deficit = i; /* Give the mutator a chance. */ |
START_WORLD(); |
START_WORLD(); |
|
GC_timerstop(); |
return(FALSE); |
return(FALSE); |
} |
} |
if (GC_mark_some((ptr_t)(&dummy))) break; |
if (GC_mark_some((ptr_t)(&dummy))) break; |
Line 528 GC_stop_func stop_func; |
|
Line 531 GC_stop_func stop_func; |
|
} |
} |
|
|
START_WORLD(); |
START_WORLD(); |
|
GC_timerstop(); |
# ifdef PRINTTIMES |
# ifdef PRINTTIMES |
GET_TIME(current_time); |
GET_TIME(current_time); |
GC_printf1("World-stopped marking took %lu msecs\n", |
GC_printf1("World-stopped marking took %lu msecs\n", |
Line 608 void GC_finish_collection() |
|
Line 612 void GC_finish_collection() |
|
GET_TIME(start_time); |
GET_TIME(start_time); |
finalize_time = start_time; |
finalize_time = start_time; |
# endif |
# endif |
|
GC_timerstart(); |
|
|
# ifdef GATHERSTATS |
# ifdef GATHERSTATS |
GC_mem_found = 0; |
GC_mem_found = 0; |
Line 724 void GC_finish_collection() |
|
Line 729 void GC_finish_collection() |
|
MS_TIME_DIFF(finalize_time,start_time), |
MS_TIME_DIFF(finalize_time,start_time), |
MS_TIME_DIFF(done_time,finalize_time)); |
MS_TIME_DIFF(done_time,finalize_time)); |
# endif |
# endif |
|
GC_timerstop(); |
} |
} |
|
|
/* Externally callable routine to invoke full, stop-world collection */ |
/* Externally callable routine to invoke full, stop-world collection */ |