mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-15 16:20:17 +02:00
* objects.c (scm_class_of): Use the new SCM_CLASSF_GOOPS_VALID
flag which combines type and status info so that the class redefinition protocol has zero cost during normal execution.
This commit is contained in:
parent
ef67c5eac1
commit
7151229df3
1 changed files with 3 additions and 1 deletions
|
@ -161,7 +161,9 @@ scm_class_of (SCM x)
|
||||||
}
|
}
|
||||||
case scm_tcs_cons_gloc:
|
case scm_tcs_cons_gloc:
|
||||||
/* must be a struct */
|
/* must be a struct */
|
||||||
if (SCM_OBJ_CLASS_FLAGS (x) & SCM_CLASSF_GOOPS)
|
if (SCM_OBJ_CLASS_FLAGS (x) & SCM_CLASSF_GOOPS_VALID)
|
||||||
|
return SCM_CLASS_OF (x);
|
||||||
|
else if (SCM_OBJ_CLASS_FLAGS (x) & SCM_CLASSF_GOOPS)
|
||||||
{
|
{
|
||||||
/* Goops object */
|
/* Goops object */
|
||||||
if (SCM_OBJ_CLASS_REDEF (x) != SCM_BOOL_F)
|
if (SCM_OBJ_CLASS_REDEF (x) != SCM_BOOL_F)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue