Branch: Tag:

2001-06-06

2001-06-06 02:22:36 by Martin Stjernholm <mast@lysator.liu.se>

Fixed [bug 1728 (#1728)] where setting the weak flag on an empty array or multiset
caused multisets created later to also be weak.

Rev: src/array.c:1.102
Rev: src/array.h:1.31
Rev: src/builtin_functions.c:1.340
Rev: src/gc.c:1.145
Rev: src/testsuite.in:1.386

30:      #include "block_alloc.h"    - RCSID("$Id: gc.c,v 1.144 2000/12/14 07:24:37 mast Exp $"); + RCSID("$Id: gc.c,v 1.145 2001/06/06 02:22:35 mast Exp $");      /* Run garbage collect approximately every time    * 20 percent of all arrays, objects and programs is
95:   #define GC_VERBOSE_DO(X)   #endif    - INT32 num_objects = 1; /* Account for empty_array. */ + INT32 num_objects = 3; /* Account for *_empty_array. */   INT32 num_allocs =0;   ptrdiff_t alloc_threshold = MIN_ALLOC_THRESHOLD;   PMOD_EXPORT int Pike_in_gc = 0;
1962: Inside #if defined(PIKE_DEBUG)
   hrtime_t gcstarttime = 0;   #endif    unsigned destroy_count, obj_count; +  ONERROR uwp;   #endif       if(Pike_in_gc) return 0;
1969: Inside #if defined(PIKE_DEBUG)
   Pike_in_gc=GC_PASS_PREPARE;   #ifdef PIKE_DEBUG    gc_debug = d_flag; +  SET_ONERROR(uwp, fatal_on_error, "Shouldn't get an exception inside the gc.\n");   #endif       destruct_objects_to_destruct();
2325:    num_allocs=0;      #ifdef PIKE_DEBUG +  UNSET_ONERROR (uwp);    if(GC_VERBOSE_DO(1 ||) t_flag)    {   #ifdef HAVE_GETHRTIME