mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-14 15:40:19 +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
|
@ -757,7 +757,7 @@ VM_DEFINE_INSTRUCTION (53, call, "call", 1, -1, 1)
|
|||
SYNC_REGISTER ();
|
||||
while (n--)
|
||||
args = scm_cons (*walk--, args);
|
||||
*walk = scm_mcache_compute_cmethod (SCM_ENTITY_PROCEDURE (x), args);
|
||||
*walk = scm_mcache_compute_cmethod (SCM_GENERIC_METHOD_CACHE (x), args);
|
||||
goto vm_call;
|
||||
}
|
||||
/*
|
||||
|
@ -841,7 +841,7 @@ VM_DEFINE_INSTRUCTION (54, goto_args, "goto/args", 1, -1, 1)
|
|||
SYNC_REGISTER ();
|
||||
while (n--)
|
||||
args = scm_cons (*walk--, args);
|
||||
*walk = scm_mcache_compute_cmethod (SCM_ENTITY_PROCEDURE (x), args);
|
||||
*walk = scm_mcache_compute_cmethod (SCM_GENERIC_METHOD_CACHE (x), args);
|
||||
goto vm_goto_args;
|
||||
}
|
||||
|
||||
|
@ -933,7 +933,7 @@ VM_DEFINE_INSTRUCTION (57, mv_call, "mv-call", 4, -1, 1)
|
|||
SYNC_REGISTER ();
|
||||
while (n--)
|
||||
args = scm_cons (*walk--, args);
|
||||
*walk = scm_mcache_compute_cmethod (SCM_ENTITY_PROCEDURE (x), args);
|
||||
*walk = scm_mcache_compute_cmethod (SCM_GENERIC_METHOD_CACHE (x), args);
|
||||
goto vm_mv_call;
|
||||
}
|
||||
/*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue