2003-09-08
2003-09-08 20:05:21 by Martin Stjernholm <mast@lysator.liu.se>
-
e1a35e295e9aba34795ca5c437817cd50c048d8e
(21 lines)
(+11/-10)
[
Show
| Annotate
]
Branch: 7.9
Cleaned up the gc check stuff a bit (large indentantion changes). Added more
tracking in the gc to help track down bugs when the gc follows munged
pointers in the mark pass. That's activated with GC_MARK_DEBUG.
Rev: src/array.c:1.149
Rev: src/backend.cmod:1.47
Rev: src/error.c:1.115
Rev: src/gc.c:1.228
Rev: src/gc.h:1.104
Rev: src/interpret.c:1.329
Rev: src/mapping.c:1.170
Rev: src/multiset.c:1.78
Rev: src/object.c:1.247
Rev: src/program.c:1.524
Rev: src/security.c:1.45
Rev: src/svalue.c:1.173
Rev: src/svalue.h:1.123
Rev: src/threads.c:1.220
2:
|| This file is part of Pike. For copyright information see COPYRIGHT.
|| Pike is distributed under GPL, LGPL and MPL. See the file COPYING
|| for more information.
- || $Id: threads.c,v 1.219 2003/06/30 17:06:10 mast Exp $
+ || $Id: threads.c,v 1.220 2003/09/08 20:05:21 mast Exp $
*/
#ifndef CONFIGURE_TEST
#include "global.h"
- RCSID("$Id: threads.c,v 1.219 2003/06/30 17:06:10 mast Exp $");
+ RCSID("$Id: threads.c,v 1.220 2003/09/08 20:05:21 mast Exp $");
PMOD_EXPORT int num_threads = 1;
PMOD_EXPORT int threads_disabled = 0;
1543:
{
struct thread_state *tmp=THIS_THREAD;
if(tmp->thread_local != NULL)
- debug_gc_check2(tmp->thread_local, T_OBJECT, o,
+ debug_gc_check (tmp->thread_local,
" as mapping for thread local values in thread");
#ifdef PIKE_DEBUG
1551: Inside #if defined(PIKE_DEBUG)
{
struct pike_frame *f;
debug_malloc_touch(o);
- debug_gc_xmark_svalues(tmp->state.evaluator_stack,
- tmp->state.stack_pointer-tmp->state.evaluator_stack-1,
+ gc_mark_external_svalues(tmp->state.evaluator_stack,
+ tmp->state.stack_pointer-tmp->state.evaluator_stack,
" in idle thread stack");
for(f=tmp->state.frame_pointer;f;f=f->next)
{
debug_malloc_touch(f);
if(f->context.parent)
- gc_external_mark2(f->context.parent,0," in Pike_fp->context.parent of idle thread");
- gc_external_mark2(f->current_object,0," in Pike_fp->current_object of idle thread");
- gc_external_mark2(f->context.prog,0," in Pike_fp->context.prog of idle thread");
+ gc_mark_external (f->context.parent, " in Pike_fp->context.parent of idle thread");
+ gc_mark_external (f->current_object, " in Pike_fp->current_object of idle thread");
+ gc_mark_external (f->context.prog, " in Pike_fp->context.prog of idle thread");
}
}
#endif
1682: Inside #if defined(PIKE_DEBUG)
FOR_EACH_THREAD (s, {
if (s->thread_local &&
(val = low_mapping_lookup(s->thread_local, &key)))
- debug_gc_check_svalues2(val, 1, T_OBJECT, o,
+ debug_gc_check_svalues (val, 1,
" as thread local value in Thread.Local object"
" (indirect ref)");
});