diff options
author | Andy Wingo <wingo@pobox.com> | 2009-11-20 13:31:07 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-11-26 00:25:07 +0100 |
commit | 9022ff183c44976b7f28503f9f78c523b578846a (patch) | |
tree | 2fd53c6909ec5dd91eafd48013a2e1ce4a06a7c8 /libguile/vm-i-system.c | |
parent | 5bdea5bd3de9a592e91c194d73bfd0681894a2ca (diff) | |
download | guile-9022ff183c44976b7f28503f9f78c523b578846a.tar.gz |
remove code that manages the method cache
* libguile/goops.h (SCM_MCACHE_N_SPECIALIZED)
(SCM_SET_MCACHE_N_SPECIALIZED, SCM_INITIAL_MCACHE_SIZE)
(scm_make_method_cache, scm_memoize_method, scm_mcache_lookup_cmethod)
(scm_mcache_compute_cmethod):
* libguile/goops.c: Remove these procedures which managed the method
cache. There's still a slot there but it's not initialized. The method
cache is no longer necessary.
* module/oop/goops/dispatch.scm (memoize-method!): Change to not take a
"cache" argument.
* libguile/eval.i.c:
* libguile/vm-i-system.c: Remove dispatch via the method cache.
Diffstat (limited to 'libguile/vm-i-system.c')
-rw-r--r-- | libguile/vm-i-system.c | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c index 59a5520f7..1f376ab70 100644 --- a/libguile/vm-i-system.c +++ b/libguile/vm-i-system.c @@ -766,17 +766,6 @@ VM_DEFINE_INSTRUCTION (53, call, "call", 1, -1, 1) sp[-nargs] = SCM_STRUCT_PROCEDURE (x); goto vm_call; } - if (SCM_STRUCTP (x) && SCM_OBJ_CLASS_FLAGS (x) & SCM_CLASSF_PURE_GENERIC) - { - SCM args = SCM_EOL; - int n = nargs; - SCM* walk = sp; - SYNC_REGISTER (); - while (n--) - args = scm_cons (*walk--, args); - *walk = scm_mcache_compute_cmethod (SCM_GENERIC_METHOD_CACHE (x), args); - goto vm_call; - } /* * Other interpreted or compiled call */ @@ -855,17 +844,6 @@ VM_DEFINE_INSTRUCTION (54, goto_args, "goto/args", 1, -1, 1) sp[-nargs] = SCM_STRUCT_PROCEDURE (x); goto vm_goto_args; } - if (SCM_STRUCTP (x) && SCM_OBJ_CLASS_FLAGS (x) & SCM_CLASSF_PURE_GENERIC) - { - SCM args = SCM_EOL; - int n = nargs; - SCM* walk = sp; - SYNC_REGISTER (); - while (n--) - args = scm_cons (*walk--, args); - *walk = scm_mcache_compute_cmethod (SCM_GENERIC_METHOD_CACHE (x), args); - goto vm_goto_args; - } /* * Other interpreted or compiled call @@ -952,17 +930,6 @@ VM_DEFINE_INSTRUCTION (57, mv_call, "mv-call", 4, -1, 1) sp[-nargs] = SCM_STRUCT_PROCEDURE (x); goto vm_mv_call; } - if (SCM_STRUCTP (x) && SCM_OBJ_CLASS_FLAGS (x) & SCM_CLASSF_PURE_GENERIC) - { - SCM args = SCM_EOL; - int n = nargs; - SCM* walk = sp; - SYNC_REGISTER (); - while (n--) - args = scm_cons (*walk--, args); - *walk = scm_mcache_compute_cmethod (SCM_GENERIC_METHOD_CACHE (x), args); - goto vm_mv_call; - } /* * Other interpreted or compiled call */ |