sync with w3m-0.2.2-inu-1.1/gc
This commit is contained in:
		
							
								
								
									
										33
									
								
								gc/alloc.c
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								gc/alloc.c
									
									
									
									
									
								
							@@ -78,7 +78,7 @@ char * GC_copyright[] =
 | 
			
		||||
{"Copyright 1988,1989 Hans-J. Boehm and Alan J. Demers ",
 | 
			
		||||
"Copyright (c) 1991-1995 by Xerox Corporation.  All rights reserved. ",
 | 
			
		||||
"Copyright (c) 1996-1998 by Silicon Graphics.  All rights reserved. ",
 | 
			
		||||
"Copyright (c) 1999-2000 by Hewlett-Packard Company.  All rights reserved. ",
 | 
			
		||||
"Copyright (c) 1999-2001 by Hewlett-Packard Company.  All rights reserved. ",
 | 
			
		||||
"THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY",
 | 
			
		||||
" EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.",
 | 
			
		||||
"See source code for details." };
 | 
			
		||||
@@ -97,6 +97,8 @@ word GC_free_space_divisor = 3;
 | 
			
		||||
extern GC_bool GC_collection_in_progress();
 | 
			
		||||
		/* Collection is in progress, or was abandoned.	*/
 | 
			
		||||
 | 
			
		||||
extern GC_bool GC_print_back_height;
 | 
			
		||||
 | 
			
		||||
int GC_never_stop_func GC_PROTO((void)) { return(0); }
 | 
			
		||||
 | 
			
		||||
CLOCK_TYPE GC_start_time;  	/* Time at which we stopped world.	*/
 | 
			
		||||
@@ -434,7 +436,7 @@ GC_stop_func stop_func;
 | 
			
		||||
{
 | 
			
		||||
    register int i;
 | 
			
		||||
    int dummy;
 | 
			
		||||
#   ifdef PRINTTIMES
 | 
			
		||||
#   if defined(PRINTTIMES) || defined(CONDPRINT)
 | 
			
		||||
	CLOCK_TYPE start_time, current_time;
 | 
			
		||||
#   endif
 | 
			
		||||
	
 | 
			
		||||
@@ -442,6 +444,9 @@ GC_stop_func stop_func;
 | 
			
		||||
#   ifdef PRINTTIMES
 | 
			
		||||
	GET_TIME(start_time);
 | 
			
		||||
#   endif
 | 
			
		||||
#   if defined(CONDPRINT) && !defined(PRINTTIMES)
 | 
			
		||||
	if (GC_print_stats) GET_TIME(start_time);
 | 
			
		||||
#   endif
 | 
			
		||||
#   ifdef CONDPRINT
 | 
			
		||||
      if (GC_print_stats) {
 | 
			
		||||
	GC_printf1("--> Marking for collection %lu ",
 | 
			
		||||
@@ -451,6 +456,11 @@ GC_stop_func stop_func;
 | 
			
		||||
	   	   (unsigned long) WORDS_TO_BYTES(GC_words_wasted));
 | 
			
		||||
      }
 | 
			
		||||
#   endif
 | 
			
		||||
#   ifdef MAKE_BACK_GRAPH
 | 
			
		||||
      if (GC_print_back_height) {
 | 
			
		||||
        GC_build_back_graph();
 | 
			
		||||
      }
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
    /* Mark from all roots.  */
 | 
			
		||||
        /* Minimize junk left in my registers and on the stack */
 | 
			
		||||
@@ -504,6 +514,14 @@ GC_stop_func stop_func;
 | 
			
		||||
	GET_TIME(current_time);
 | 
			
		||||
	GC_printf1("World-stopped marking took %lu msecs\n",
 | 
			
		||||
	           MS_TIME_DIFF(current_time,start_time));
 | 
			
		||||
#   else
 | 
			
		||||
#     ifdef CONDPRINT
 | 
			
		||||
	if (GC_print_stats) {
 | 
			
		||||
	  GET_TIME(current_time);
 | 
			
		||||
	  GC_printf1("World-stopped marking took %lu msecs\n",
 | 
			
		||||
	             MS_TIME_DIFF(current_time,start_time));
 | 
			
		||||
	}
 | 
			
		||||
#     endif
 | 
			
		||||
#   endif
 | 
			
		||||
    START_WORLD();
 | 
			
		||||
    return(TRUE);
 | 
			
		||||
@@ -610,6 +628,17 @@ void GC_finish_collection()
 | 
			
		||||
      GET_TIME(finalize_time);
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
    if (GC_print_back_height) {
 | 
			
		||||
#     ifdef MAKE_BACK_GRAPH
 | 
			
		||||
	GC_traverse_back_graph();
 | 
			
		||||
#     else
 | 
			
		||||
#	ifndef SMALL_CONFIG
 | 
			
		||||
	  GC_err_printf0("Back height not available: "
 | 
			
		||||
		         "Rebuild collector with -DMAKE_BACK_GRAPH\n");
 | 
			
		||||
#  	endif
 | 
			
		||||
#     endif
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /* Clear free list mark bits, in case they got accidentally marked   */
 | 
			
		||||
    /* (or GC_find_leak is set and they were intentionally marked).	 */
 | 
			
		||||
    /* Also subtract memory remaining from GC_mem_found count.           */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user