Remove hashset slots from GOOPS classes
* libguile/goops.h (SCM_CLASS_CLASS_LAYOUT, SCM_INSTANCE_HASH) (SCM_SET_HASHSET): * libguile/goops.c (prep_hashsets, scm_sys_make_root_class, scm_sys_init_layout_x): * module/oop/goops.scm (build-<class>-slots): Remove hashsets from classes. We haven't implemented hashed dispatch since Guile 1.8, and it's not clear that the particular formulation of dispatch is a good idea.
This commit is contained in:
parent
57898597ad
commit
e03e310126
3 changed files with 9 additions and 51 deletions
|
|
@ -448,8 +448,6 @@ SCM_DEFINE (scm_sys_init_layout_x, "%init-layout!", 2, 0, 0,
|
|||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
static void prep_hashsets (SCM);
|
||||
|
||||
SCM_DEFINE (scm_sys_inherit_magic_x, "%inherit-magic!", 2, 0, 0,
|
||||
(SCM class, SCM dsupers),
|
||||
"")
|
||||
|
|
@ -459,21 +457,10 @@ SCM_DEFINE (scm_sys_inherit_magic_x, "%inherit-magic!", 2, 0, 0,
|
|||
scm_i_struct_inherit_vtable_magic (SCM_CLASS_OF (class), class);
|
||||
SCM_SET_CLASS_FLAGS (class, SCM_CLASSF_GOOPS_OR_VALID);
|
||||
|
||||
prep_hashsets (class);
|
||||
|
||||
return SCM_UNSPECIFIED;
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
static void
|
||||
prep_hashsets (SCM class)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < 8; ++i)
|
||||
SCM_SET_HASHSET (class, i, scm_c_uniform32 (goops_rstate));
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
SCM
|
||||
|
|
@ -508,8 +495,6 @@ SCM_DEFINE (scm_sys_make_root_class, "%make-root-class", 3, 0, 0,
|
|||
SCM_SET_SLOT (z, scm_si_getters_n_setters, getters_n_setters); /* will be changed */
|
||||
SCM_SET_SLOT (z, scm_si_redefined, SCM_BOOL_F);
|
||||
|
||||
prep_hashsets (z);
|
||||
|
||||
return z;
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue