mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-10 05:50:26 +02:00
Removed unnecessary uses of class destructors.
* libguile/goops.c (scm_sys_inherit_magic_x): Don't invoke `SCM_SET_CLASS_DESTRUCTOR' for legacy destructors that are no longer needed (e.g., `scm_struct_free_entity ()', etc.). * libguile/objects.c (scm_init_objects): Likewise. git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-34
This commit is contained in:
parent
5e67dc27e3
commit
077644c8a4
2 changed files with 2 additions and 6 deletions
|
@ -732,9 +732,8 @@ SCM_DEFINE (scm_sys_inherit_magic_x, "%inherit-magic!", 2, 0, 0,
|
|||
ls = SCM_CDR (ls);
|
||||
}
|
||||
flags &= SCM_CLASSF_INHERIT;
|
||||
if (flags & SCM_CLASSF_ENTITY)
|
||||
SCM_SET_CLASS_DESTRUCTOR (class, scm_struct_free_entity);
|
||||
else
|
||||
|
||||
if (! (flags & SCM_CLASSF_ENTITY))
|
||||
{
|
||||
long n = SCM_I_INUM (SCM_SLOT (class, scm_si_nfields));
|
||||
#if 0
|
||||
|
@ -751,7 +750,6 @@ SCM_DEFINE (scm_sys_inherit_magic_x, "%inherit-magic!", 2, 0, 0,
|
|||
{
|
||||
/* NOTE: The following depends on scm_struct_i_size. */
|
||||
flags |= SCM_STRUCTF_LIGHT + n * sizeof (SCM); /* use light representation */
|
||||
SCM_SET_CLASS_DESTRUCTOR (class, scm_struct_free_light);
|
||||
}
|
||||
}
|
||||
SCM_SET_CLASS_FLAGS (class, flags);
|
||||
|
@ -2790,7 +2788,6 @@ scm_make_class (SCM meta, char *s_name, SCM supers, size_t size,
|
|||
}
|
||||
else if (size > 0)
|
||||
{
|
||||
SCM_SET_CLASS_DESTRUCTOR (class, scm_struct_free_light);
|
||||
SCM_SET_CLASS_INSTANCE_SIZE (class, size);
|
||||
}
|
||||
|
||||
|
|
|
@ -346,7 +346,6 @@ scm_init_objects ()
|
|||
scm_c_define ("<operator-class>", ot);
|
||||
scm_metaclass_operator = ot;
|
||||
SCM_SET_CLASS_FLAGS (et, SCM_CLASSF_OPERATOR | SCM_CLASSF_ENTITY);
|
||||
SCM_SET_CLASS_DESTRUCTOR (et, scm_struct_free_entity);
|
||||
scm_c_define ("<entity>", et);
|
||||
|
||||
#include "libguile/objects.x"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue