[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/alloc.c
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/src/alloc.c |
Date: |
Mon, 17 Nov 2003 19:39:14 -0500 |
Index: emacs/src/alloc.c
diff -c emacs/src/alloc.c:1.327 emacs/src/alloc.c:1.328
*** emacs/src/alloc.c:1.327 Mon Oct 13 14:45:03 2003
--- emacs/src/alloc.c Mon Nov 17 19:39:13 2003
***************
*** 2229,2243 ****
new = (struct float_block *) lisp_align_malloc (sizeof *new,
MEM_TYPE_FLOAT);
new->next = float_block;
float_block = new;
float_block_index = 0;
n_float_blocks++;
}
! XSETFLOAT (val, &float_block->floats[float_block_index++]);
}
XFLOAT_DATA (val) = float_value;
! FLOAT_UNMARK (XFLOAT (val));
consing_since_gc += sizeof (struct Lisp_Float);
floats_consed++;
return val;
--- 2229,2245 ----
new = (struct float_block *) lisp_align_malloc (sizeof *new,
MEM_TYPE_FLOAT);
new->next = float_block;
+ bzero ((char *) new->gcmarkbits, sizeof new->gcmarkbits);
float_block = new;
float_block_index = 0;
n_float_blocks++;
}
! XSETFLOAT (val, &float_block->floats[float_block_index]);
! float_block_index++;
}
XFLOAT_DATA (val) = float_value;
! eassert (!FLOAT_MARKED_P (XFLOAT (val)));
consing_since_gc += sizeof (struct Lisp_Float);
floats_consed++;
return val;
***************
*** 2345,2361 ****
register struct cons_block *new;
new = (struct cons_block *) lisp_align_malloc (sizeof *new,
MEM_TYPE_CONS);
new->next = cons_block;
cons_block = new;
cons_block_index = 0;
n_cons_blocks++;
}
! XSETCONS (val, &cons_block->conses[cons_block_index++]);
}
XSETCAR (val, car);
XSETCDR (val, cdr);
! CONS_UNMARK (XCONS (val));
consing_since_gc += sizeof (struct Lisp_Cons);
cons_cells_consed++;
return val;
--- 2347,2365 ----
register struct cons_block *new;
new = (struct cons_block *) lisp_align_malloc (sizeof *new,
MEM_TYPE_CONS);
+ bzero ((char *) new->gcmarkbits, sizeof new->gcmarkbits);
new->next = cons_block;
cons_block = new;
cons_block_index = 0;
n_cons_blocks++;
}
! XSETCONS (val, &cons_block->conses[cons_block_index]);
! cons_block_index++;
}
XSETCAR (val, car);
XSETCDR (val, cdr);
! eassert (!CONS_MARKED_P (XCONS (val)));
consing_since_gc += sizeof (struct Lisp_Cons);
cons_cells_consed++;
return val;
***************
*** 2804,2810 ****
symbol_block_index = 0;
n_symbol_blocks++;
}
! XSETSYMBOL (val, &symbol_block->symbols[symbol_block_index++]);
}
p = XSYMBOL (val);
--- 2808,2815 ----
symbol_block_index = 0;
n_symbol_blocks++;
}
! XSETSYMBOL (val, &symbol_block->symbols[symbol_block_index]);
! symbol_block_index++;
}
p = XSYMBOL (val);
***************
*** 2882,2888 ****
marker_block_index = 0;
n_marker_blocks++;
}
! XSETMISC (val, &marker_block->markers[marker_block_index++]);
}
consing_since_gc += sizeof (union Lisp_Misc);
--- 2887,2894 ----
marker_block_index = 0;
n_marker_blocks++;
}
! XSETMISC (val, &marker_block->markers[marker_block_index]);
! marker_block_index++;
}
consing_since_gc += sizeof (union Lisp_Misc);
***************
*** 4493,4505 ****
gc_sweep ();
/* Clear the mark bits that we set in certain root slots. */
-
- #if (GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE \
- || GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES)
- {
- register struct gcpro *tail;
- }
- #endif
unmark_byte_stack ();
VECTOR_UNMARK (&buffer_defaults);
--- 4499,4504 ----
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/src/alloc.c,
Stefan Monnier <=