mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-07-02 23:50:47 +02:00
Convert mutexes, condition vars to statically-allocated tc16
* libguile/scm.h: Add statically allocated tc16s for condvars and mutexes. * libguile/threads.c: Adapt to declare tag inline to struct scm_cond and struct scm_mutex. * libguile/threads.h: Expose printing procedures internally. * module/oop/goops.scm: * libguile/goops.c: Fix to statically allocate condition variable and mutex classes. * libguile/eq.c: * libguile/print.c: Adapt.
This commit is contained in:
parent
7a1406891f
commit
f47fe6e752
7 changed files with 114 additions and 67 deletions
|
@ -509,6 +509,19 @@ typedef uintptr_t scm_t_bits;
|
|||
|
||||
/* Objects with scm_tc7_ext. */
|
||||
#define scm_tc16_charset 0x007f
|
||||
#define scm_tc16_condition_variable 0x017f
|
||||
#define scm_tc16_mutex 0x027f
|
||||
/*
|
||||
#define scm_tc16_continuation 0x067f
|
||||
#define scm_tc16_directory 0x077f
|
||||
#define scm_tc16_hook 0x097f
|
||||
#define scm_tc16_macro 0x0a7f
|
||||
#define scm_tc16_malloc 0x0b7f
|
||||
#define scm_tc16_port_with_print_state 0x0d7f
|
||||
#define scm_tc16_promise 0x0e7f
|
||||
#define scm_tc16_random_state 0x0f7f
|
||||
#define scm_tc16_regexp 0x107f
|
||||
*/
|
||||
|
||||
/* Definitions for tc16: */
|
||||
#define SCM_TYP16(x) (0xffff & SCM_CELL_TYPE (x))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue