summaryrefslogtreecommitdiff
path: root/module/oop/goops
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-11-20 13:31:07 +0100
committerAndy Wingo <wingo@pobox.com>2009-11-26 00:25:07 +0100
commit9022ff183c44976b7f28503f9f78c523b578846a (patch)
tree2fd53c6909ec5dd91eafd48013a2e1ce4a06a7c8 /module/oop/goops
parent5bdea5bd3de9a592e91c194d73bfd0681894a2ca (diff)
downloadguile-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 'module/oop/goops')
-rw-r--r--module/oop/goops/dispatch.scm4
1 files changed, 2 insertions, 2 deletions
diff --git a/module/oop/goops/dispatch.scm b/module/oop/goops/dispatch.scm
index 9e97b5b71..df7680028 100644
--- a/module/oop/goops/dispatch.scm
+++ b/module/oop/goops/dispatch.scm
@@ -228,7 +228,7 @@
(cache-miss gf args)))
(define (cache-miss gf args)
- (apply (memoize-method! gf args (slot-ref gf '%cache)) args))
+ (apply (memoize-method! gf args) args))
(define (memoize-effective-method! gf args applicable)
(define (first-n ls n)
@@ -256,7 +256,7 @@
;;; Memoization
;;;
-(define (memoize-method! gf args exp)
+(define (memoize-method! gf args)
(let ((applicable ((if (eq? gf compute-applicable-methods)
%compute-applicable-methods
compute-applicable-methods)