mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +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)
|
||||
{
|
||||
z = scm_make_struct (class, SCM_INUM0,
|
||||
scm_list_5 (SCM_BOOL_F,
|
||||
scm_list_4 (SCM_BOOL_F,
|
||||
SCM_EOL,
|
||||
SCM_INUM0,
|
||||
scm_make_mutex (),
|
||||
SCM_EOL));
|
||||
scm_set_procedure_property_x (z, scm_sym_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"),
|
||||
k_init_keyword,
|
||||
k_slot_definition));
|
||||
SCM mutex_slot = scm_list_1 (scm_from_locale_symbol ("make-mutex"));
|
||||
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 gf_slots = scm_list_5 (scm_from_locale_symbol ("methods"),
|
||||
scm_list_3 (scm_from_locale_symbol ("n-specialized"),
|
||||
k_init_value,
|
||||
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"),
|
||||
k_init_value,
|
||||
SCM_EOL),
|
||||
scm_from_locale_symbol ("%cache"),
|
||||
scm_from_locale_symbol ("effective-methods"),
|
||||
SCM_UNDEFINED);
|
||||
scm_from_locale_symbol ("effective-methods"));
|
||||
SCM setter_slots = scm_list_1 (sym_setter);
|
||||
SCM egf_slots = scm_list_1 (scm_list_3 (scm_from_locale_symbol ("extends"),
|
||||
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_methods 1
|
||||
#define scm_si_n_specialized 2
|
||||
#define scm_si_cache_mutex 3
|
||||
#define scm_si_extended_by 4
|
||||
#define scm_si_generic_cache 5
|
||||
#define scm_si_effective_methods 6
|
||||
#define scm_si_generic_setter 7
|
||||
#define scm_si_extended_by 3
|
||||
#define scm_si_generic_cache 4
|
||||
#define scm_si_effective_methods 5
|
||||
#define scm_si_generic_setter 6
|
||||
|
||||
#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> */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue