/[emacs]/emacs/src/alloc.c
ViewVC logotype

Diff of /emacs/src/alloc.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.327 by rms, Mon Oct 13 18:45:03 2003 UTC revision 1.328 by monnier, Tue Nov 18 00:39:13 2003 UTC
# Line 2229  make_float (float_value) Line 2229  make_float (float_value)
2229            new = (struct float_block *) lisp_align_malloc (sizeof *new,            new = (struct float_block *) lisp_align_malloc (sizeof *new,
2230                                                            MEM_TYPE_FLOAT);                                                            MEM_TYPE_FLOAT);
2231            new->next = float_block;            new->next = float_block;
2232              bzero ((char *) new->gcmarkbits, sizeof new->gcmarkbits);
2233            float_block = new;            float_block = new;
2234            float_block_index = 0;            float_block_index = 0;
2235            n_float_blocks++;            n_float_blocks++;
2236          }          }
2237        XSETFLOAT (val, &float_block->floats[float_block_index++]);        XSETFLOAT (val, &float_block->floats[float_block_index]);
2238          float_block_index++;
2239      }      }
2240    
2241    XFLOAT_DATA (val) = float_value;    XFLOAT_DATA (val) = float_value;
2242    FLOAT_UNMARK (XFLOAT (val));    eassert (!FLOAT_MARKED_P (XFLOAT (val)));
2243    consing_since_gc += sizeof (struct Lisp_Float);    consing_since_gc += sizeof (struct Lisp_Float);
2244    floats_consed++;    floats_consed++;
2245    return val;    return val;
# Line 2345  DEFUN ("cons", Fcons, Scons, 2, 2, 0, Line 2347  DEFUN ("cons", Fcons, Scons, 2, 2, 0,
2347            register struct cons_block *new;            register struct cons_block *new;
2348            new = (struct cons_block *) lisp_align_malloc (sizeof *new,            new = (struct cons_block *) lisp_align_malloc (sizeof *new,
2349                                                           MEM_TYPE_CONS);                                                           MEM_TYPE_CONS);
2350              bzero ((char *) new->gcmarkbits, sizeof new->gcmarkbits);
2351            new->next = cons_block;            new->next = cons_block;
2352            cons_block = new;            cons_block = new;
2353            cons_block_index = 0;            cons_block_index = 0;
2354            n_cons_blocks++;            n_cons_blocks++;
2355          }          }
2356        XSETCONS (val, &cons_block->conses[cons_block_index++]);        XSETCONS (val, &cons_block->conses[cons_block_index]);
2357          cons_block_index++;
2358      }      }
2359    
2360    XSETCAR (val, car);    XSETCAR (val, car);
2361    XSETCDR (val, cdr);    XSETCDR (val, cdr);
2362    CONS_UNMARK (XCONS (val));    eassert (!CONS_MARKED_P (XCONS (val)));
2363    consing_since_gc += sizeof (struct Lisp_Cons);    consing_since_gc += sizeof (struct Lisp_Cons);
2364    cons_cells_consed++;    cons_cells_consed++;
2365    return val;    return val;
# Line 2804  Its value and function definition are vo Line 2808  Its value and function definition are vo
2808            symbol_block_index = 0;            symbol_block_index = 0;
2809            n_symbol_blocks++;            n_symbol_blocks++;
2810          }          }
2811        XSETSYMBOL (val, &symbol_block->symbols[symbol_block_index++]);        XSETSYMBOL (val, &symbol_block->symbols[symbol_block_index]);
2812          symbol_block_index++;
2813      }      }
2814    
2815    p = XSYMBOL (val);    p = XSYMBOL (val);
# Line 2882  allocate_misc () Line 2887  allocate_misc ()
2887            marker_block_index = 0;            marker_block_index = 0;
2888            n_marker_blocks++;            n_marker_blocks++;
2889          }          }
2890        XSETMISC (val, &marker_block->markers[marker_block_index++]);        XSETMISC (val, &marker_block->markers[marker_block_index]);
2891          marker_block_index++;
2892      }      }
2893    
2894    consing_since_gc += sizeof (union Lisp_Misc);    consing_since_gc += sizeof (union Lisp_Misc);
# Line 4494  returns nil, because real GC can't be do Line 4500  returns nil, because real GC can't be do
4500    
4501    /* Clear the mark bits that we set in certain root slots.  */    /* Clear the mark bits that we set in certain root slots.  */
4502    
 #if (GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE \  
      || GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES)  
   {  
     register struct gcpro *tail;  
   }  
 #endif  
   
4503    unmark_byte_stack ();    unmark_byte_stack ();
4504    VECTOR_UNMARK (&buffer_defaults);    VECTOR_UNMARK (&buffer_defaults);
4505    VECTOR_UNMARK (&buffer_local_symbols);    VECTOR_UNMARK (&buffer_local_symbols);

Legend:
Removed from v.1.327  
changed lines
  Added in v.1.328

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26