Mercurial > hg > xemacs-beta
comparison src/vdb.c @ 3303:619edf713d55
[xemacs-hg @ 2006-03-26 14:05:29 by crestani]
2006-03-21 Marcus Crestani <crestani@xemacs.org>
* mc-alloc.c (visit_all_used_page_headers):
* mc-alloc.c (finalize_page_for_disksave):
* mc-alloc.c (mc_finalize_for_disksave):
* mc-alloc.c (sweep_page):
* mc-alloc.c (mc_sweep):
* mc-alloc.c (protect_heap_page):
* mc-alloc.c (protect_heap_pages):
* mc-alloc.c (unprotect_heap_page):
* mc-alloc.c (unprotect_heap_pages):
* mc-alloc.h: Return number of pages processed.
* vdb.c (vdb_start_dirty_bits_recording): Adjust size of
page_fault_table to its upper bound (= number of pages that
contain BLACK objects) in advance, to avoid malloc in the signal
handler.
author | crestani |
---|---|
date | Sun, 26 Mar 2006 14:05:30 +0000 |
parents | 141c2920ea48 |
children | 229bd619740a |
comparison
equal
deleted
inserted
replaced
3302:3d54e5f2dfb0 | 3303:619edf713d55 |
---|---|
36 | 36 |
37 /* Init page fault table and protect heap. */ | 37 /* Init page fault table and protect heap. */ |
38 void | 38 void |
39 vdb_start_dirty_bits_recording (void) | 39 vdb_start_dirty_bits_recording (void) |
40 { | 40 { |
41 Elemcount protected_pages = (Elemcount) protect_heap_pages (); | |
41 page_fault_table = Dynarr_new2 (void_ptr_dynarr, void *); | 42 page_fault_table = Dynarr_new2 (void_ptr_dynarr, void *); |
42 protect_heap_pages (); | 43 Dynarr_resize (page_fault_table, protected_pages); |
43 } | 44 } |
44 | 45 |
45 /* Remove heap protection. */ | 46 /* Remove heap protection. */ |
46 void | 47 void |
47 vdb_stop_dirty_bits_recording (void) | 48 vdb_stop_dirty_bits_recording (void) |