pike.git / src / gc.c

version» Context lines:

pike.git/src/gc.c:5320:    *! also occurs in resolved cycles. Like @expr{visits@}, this    *! count can include things that aren't visible from pike.    *!    *! @member int rounds    *! Number of search rounds. This is usually 1 or 2. More rounds    *! are necessary only when blocked types turn out to be    *! (acyclic) internal, so that they need to be counted and    *! recursed anyway.    *!    *! @member int work_queue_alloc -  *! The number of elements that was allocated to store the work +  *! The number of elements that were allocated to store the work    *! queue which is used to keep track of the things to visit    *! during the lookahead. This is usually bigger than the    *! maximum number of things the queue actually held.    *!    *! @member int size    *! The memory occupied by the internal things. This is the same    *! as the normal return value, but it's put here too for    *! convenience.    *! @endmapping    *!
pike.git/src/gc.c:5357:    *! @note    *! The result of @expr{Pike.count_memory(0,a,b)@} might be larger    *! than the sum of @expr{Pike.count_memory(0,a)@} and    *! @expr{Pike.count_memory(0,b)@} since @expr{a@} and @expr{b@}    *! together might reference things that aren't referenced from    *! anywhere else.    *!    *! @note    *! It's possible that a string that is referenced still isn't    *! counted, because strings are always shared in Pike and the same -  *! string might be in use in some unrelated part of the program. +  *! string may be in use in some unrelated part of the program.    */   void f_count_memory (INT32 args)   {    struct svalue *collect_internal = NULL;    unsigned count_internal, count_cyclic, count_visited;    unsigned count_visits, count_revisits, count_rounds;    int collect_stats = 0, return_count = 0;       if (args < 1)    SIMPLE_TOO_FEW_ARGS_ERROR ("count_memory", 1);