mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-18 17:50:29 +02:00
SCM_GENERIC_METHOD_CACHE macro splits from SCM_ENTITY_PROCEDURE
* libguile/goops.h (SCM_GENERIC_METHOD_CACHE) (SCM_SET_GENERIC_METHOD_CACHE): Two new macros; the same as SCM_[SET_]ENTITY_PROCEDURE, but more reflecting the reality of the generic hack. * libguile/eval.i.c: * libguile/goops.c: * libguile/objects.c: * libguile/vm-i-system.c: Use the new macros when it is appropriate to do so.
This commit is contained in:
parent
48c7c44e70
commit
521ac49bde
5 changed files with 13 additions and 12 deletions
|
@ -1027,7 +1027,7 @@ dispatch:
|
|||
case scm_tcs_struct:
|
||||
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC)
|
||||
{
|
||||
x = SCM_ENTITY_PROCEDURE (proc);
|
||||
x = SCM_GENERIC_METHOD_CACHE (proc);
|
||||
arg1 = SCM_EOL;
|
||||
goto type_dispatch;
|
||||
}
|
||||
|
@ -1154,7 +1154,7 @@ dispatch:
|
|||
case scm_tcs_struct:
|
||||
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC)
|
||||
{
|
||||
x = SCM_ENTITY_PROCEDURE (proc);
|
||||
x = SCM_GENERIC_METHOD_CACHE (proc);
|
||||
#ifdef DEVAL
|
||||
arg1 = debug.info->a.args;
|
||||
#else
|
||||
|
@ -1233,7 +1233,7 @@ dispatch:
|
|||
case scm_tcs_struct:
|
||||
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC)
|
||||
{
|
||||
x = SCM_ENTITY_PROCEDURE (proc);
|
||||
x = SCM_GENERIC_METHOD_CACHE (proc);
|
||||
#ifdef DEVAL
|
||||
arg1 = debug.info->a.args;
|
||||
#else
|
||||
|
@ -1464,7 +1464,7 @@ dispatch:
|
|||
#else
|
||||
arg1 = scm_cons2 (arg1, arg2, scm_ceval_args (x, env, proc));
|
||||
#endif
|
||||
x = SCM_ENTITY_PROCEDURE (proc);
|
||||
x = SCM_GENERIC_METHOD_CACHE (proc);
|
||||
goto type_dispatch;
|
||||
}
|
||||
else if (SCM_I_ENTITYP (proc))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue