mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 19:50:24 +02:00
remove cache-mutex slot from generics
* libguile/goops.c: * libguile/goops.h: Remove cache-mutex slot from generics, and renumber other slots.
This commit is contained in:
parent
2c38adf863
commit
72d2e7e65f
2 changed files with 7 additions and 18 deletions
|
@ -2273,10 +2273,9 @@ SCM_DEFINE (scm_make, "make", 0, 0, 1,
|
||||||
if (class == scm_class_generic || class == scm_class_accessor)
|
if (class == scm_class_generic || class == scm_class_accessor)
|
||||||
{
|
{
|
||||||
z = scm_make_struct (class, SCM_INUM0,
|
z = scm_make_struct (class, SCM_INUM0,
|
||||||
scm_list_5 (SCM_BOOL_F,
|
scm_list_4 (SCM_BOOL_F,
|
||||||
SCM_EOL,
|
SCM_EOL,
|
||||||
SCM_INUM0,
|
SCM_INUM0,
|
||||||
scm_make_mutex (),
|
|
||||||
SCM_EOL));
|
SCM_EOL));
|
||||||
scm_set_procedure_property_x (z, scm_sym_name,
|
scm_set_procedure_property_x (z, scm_sym_name,
|
||||||
scm_get_keyword (k_name,
|
scm_get_keyword (k_name,
|
||||||
|
@ -2482,24 +2481,15 @@ create_standard_classes (void)
|
||||||
SCM amethod_slots = scm_list_1 (scm_list_3 (scm_from_locale_symbol ("slot-definition"),
|
SCM amethod_slots = scm_list_1 (scm_list_3 (scm_from_locale_symbol ("slot-definition"),
|
||||||
k_init_keyword,
|
k_init_keyword,
|
||||||
k_slot_definition));
|
k_slot_definition));
|
||||||
SCM mutex_slot = scm_list_1 (scm_from_locale_symbol ("make-mutex"));
|
SCM gf_slots = scm_list_5 (scm_from_locale_symbol ("methods"),
|
||||||
SCM mutex_closure = scm_i_eval_x (scm_list_3 (scm_sym_lambda,
|
|
||||||
SCM_EOL,
|
|
||||||
mutex_slot),
|
|
||||||
SCM_EOL);
|
|
||||||
SCM gf_slots = scm_list_n (scm_from_locale_symbol ("methods"),
|
|
||||||
scm_list_3 (scm_from_locale_symbol ("n-specialized"),
|
scm_list_3 (scm_from_locale_symbol ("n-specialized"),
|
||||||
k_init_value,
|
k_init_value,
|
||||||
SCM_INUM0),
|
SCM_INUM0),
|
||||||
scm_list_3 (scm_from_locale_symbol ("cache-mutex"),
|
|
||||||
k_init_thunk,
|
|
||||||
mutex_closure),
|
|
||||||
scm_list_3 (scm_from_locale_symbol ("extended-by"),
|
scm_list_3 (scm_from_locale_symbol ("extended-by"),
|
||||||
k_init_value,
|
k_init_value,
|
||||||
SCM_EOL),
|
SCM_EOL),
|
||||||
scm_from_locale_symbol ("%cache"),
|
scm_from_locale_symbol ("%cache"),
|
||||||
scm_from_locale_symbol ("effective-methods"),
|
scm_from_locale_symbol ("effective-methods"));
|
||||||
SCM_UNDEFINED);
|
|
||||||
SCM setter_slots = scm_list_1 (sym_setter);
|
SCM setter_slots = scm_list_1 (sym_setter);
|
||||||
SCM egf_slots = scm_list_1 (scm_list_3 (scm_from_locale_symbol ("extends"),
|
SCM egf_slots = scm_list_1 (scm_list_3 (scm_from_locale_symbol ("extends"),
|
||||||
k_init_value,
|
k_init_value,
|
||||||
|
|
|
@ -168,11 +168,10 @@ typedef struct scm_t_method {
|
||||||
#define scm_si_dispatch_procedure scm_applicable_struct_index_procedure /* 0 */
|
#define scm_si_dispatch_procedure scm_applicable_struct_index_procedure /* 0 */
|
||||||
#define scm_si_methods 1
|
#define scm_si_methods 1
|
||||||
#define scm_si_n_specialized 2
|
#define scm_si_n_specialized 2
|
||||||
#define scm_si_cache_mutex 3
|
#define scm_si_extended_by 3
|
||||||
#define scm_si_extended_by 4
|
#define scm_si_generic_cache 4
|
||||||
#define scm_si_generic_cache 5
|
#define scm_si_effective_methods 5
|
||||||
#define scm_si_effective_methods 6
|
#define scm_si_generic_setter 6
|
||||||
#define scm_si_generic_setter 7
|
|
||||||
|
|
||||||
#define scm_si_generic_function 0 /* offset of gf slot in a <method> */
|
#define scm_si_generic_function 0 /* offset of gf slot in a <method> */
|
||||||
#define scm_si_specializers 1 /* offset of spec. slot in a <method> */
|
#define scm_si_specializers 1 /* offset of spec. slot in a <method> */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue