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