pike.git/
src/
gc.c
Branch:
Tag:
Non-build tags
All tags
No tags
2000-04-26
2000-04-26 12:13:56 by Martin Stjernholm <mast@lysator.liu.se>
08679c962306e8249826b2261432bddd641581bb (
11
lines) (+
9
/-
2
)
[
Show
|
Annotate
]
Branch:
7.9
Some enlightening comments.
Rev: src/gc.c:1.81
29:
#include "block_alloc.h"
-
RCSID("$Id: gc.c,v 1.
80
2000/04/
23
03
:
17
:
11
mast Exp $");
+
RCSID("$Id: gc.c,v 1.
81
2000/04/
26
12
:
13
:
56
mast Exp $");
/* Run garbage collect approximate every time we have * 20 percent of all arrays, objects and programs is
982:
objects_freed*=multiplier; objects_freed += (double) num_objects;
+
/* Thread switches and object alloc/free are disallowed now. */
+
#ifdef PIKE_DEBUG if (gc_debug) { INT32 n;
1034:
if(d_flag) gc_mark_all_strings();
+
/* Thread switches and object alloc/free are allowed now. */
+
#ifdef PIKE_DEBUG check_for=(void *)1; #endif
1043:
gc_free_all_unreferenced_multisets(); gc_free_all_unreferenced_mappings(); gc_free_all_unreferenced_programs();
-
Pike_in_gc=GC_PASS_DESTROY;
/* Pike code allowed in this pass. */
+
Pike_in_gc=GC_PASS_DESTROY;
/* This is intended to happen before the freeing done above. But * it's put here for the time being, since the problem of non-object * objects getting external references from destroy code isn't
1063:
Pike_in_gc=GC_PASS_DESTRUCT; destruct_objects_to_destruct();
+
/* Thread switches and object alloc/free are disallowed now. */
+
#ifdef PIKE_DEBUG if (gc_debug) { INT32 n;