pike.git / src / gc.c

version» Context lines:

pike.git/src/gc.c:6170:    */    identify_loop_reverse = allocate_mapping(1024);       visit_enter = identify_loop_visit_enter;    visit_ref = identify_loop_visit_ref;    visit_leave = identify_loop_visit_leave;       /* NB: This initial call will botstrap the wq_queue. */    visit_fn_from_type[TYPEOF(*s)](s->u.ptr, VISIT_COMPLEX_ONLY, NULL);    + #ifdef PIKE_DEBUG +  assert (mc_ref_from == (void *) (ptrdiff_t) -1); + #endif +     while ((mc_ref_from = mc_wq_dequeue())) {    if (mc_ref_from->flags & MC_FLAG_INT_VISITED) continue;       mc_ref_from->flags |= MC_FLAG_INT_VISITED;    mc_ref_from->visit_fn(mc_ref_from->thing, VISIT_COMPLEX_ONLY, NULL);    }    -  + #if defined (PIKE_DEBUG) || defined (MEMORY_COUNT_DEBUG) +  mc_ref_from = (void *) (ptrdiff_t) -1; + #endif +     exit_mc_marker_hash();    free (mc_work_queue + 1);    mc_work_queue = NULL;       visit_enter = NULL;    visit_ref = NULL;    visit_leave = NULL;      #ifdef PIKE_DEBUG    if (s != Pike_sp-1) {