Mercurial > hg > xemacs-beta
comparison src/specifier.h @ 3092:141c2920ea48
[xemacs-hg @ 2005-11-25 01:41:31 by crestani]
Incremental Garbage Collector
author | crestani |
---|---|
date | Fri, 25 Nov 2005 01:42:08 +0000 |
parents | 1e7cc382eb16 |
children | 98af8a976fc3 |
comparison
equal
deleted
inserted
replaced
3091:c22d8984148c | 3092:141c2920ea48 |
---|---|
421 SPEC_REMOVE_ALL | 421 SPEC_REMOVE_ALL |
422 }; | 422 }; |
423 | 423 |
424 struct specifier_caching | 424 struct specifier_caching |
425 { | 425 { |
426 #ifdef NEW_GC | |
427 struct lrecord_header header; | |
428 #endif /* NEW_GC */ | |
426 int offset_into_struct_window; | 429 int offset_into_struct_window; |
427 void (*value_changed_in_window) (Lisp_Object specifier, struct window *w, | 430 void (*value_changed_in_window) (Lisp_Object specifier, struct window *w, |
428 Lisp_Object oldval); | 431 Lisp_Object oldval); |
429 int offset_into_struct_frame; | 432 int offset_into_struct_frame; |
430 void (*value_changed_in_frame) (Lisp_Object specifier, struct frame *f, | 433 void (*value_changed_in_frame) (Lisp_Object specifier, struct frame *f, |
431 Lisp_Object oldval); | 434 Lisp_Object oldval); |
432 int always_recompute; | 435 int always_recompute; |
433 }; | 436 }; |
437 | |
438 #ifdef NEW_GC | |
439 DECLARE_LRECORD (specifier_caching, struct specifier_caching); | |
440 #define XSPECIFIER_CACHING(x) \ | |
441 XRECORD (x, specifier_caching, struct specifier_caching) | |
442 #define wrap_specifier_caching(p) \ | |
443 wrap_record (p, specifier_caching) | |
444 #define SPECIFIER_CACHINGP(x) RECORDP (x, specifier_caching) | |
445 #define CHECK_SPECIFIER_CACHING(x) \ | |
446 CHECK_RECORD (x, specifier_caching) | |
447 #define CONCHECK_SPECIFIER_CACHING(x) \ | |
448 CONCHECK_RECORD (x, specifier_caching) | |
449 #endif /* NEW_GC */ | |
434 | 450 |
435 /* #### get image instances out of domains! */ | 451 /* #### get image instances out of domains! */ |
436 | 452 |
437 /* #### I think the following should ABORT() rather than return nil | 453 /* #### I think the following should ABORT() rather than return nil |
438 when an invalid domain is given; much more likely we'll catch design | 454 when an invalid domain is given; much more likely we'll catch design |