summaryrefslogtreecommitdiff
path: root/module/oop
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-11-26 22:11:40 +0100
committerAndy Wingo <wingo@pobox.com>2009-12-01 21:00:26 +0100
commit8397a3a69555c73d4e1df89ae96c561d2ea43188 (patch)
tree324e58b81be20cc8c153e951f63bb28fe692a022 /module/oop
parentecdfc95d1c4cca8cb87412cd30a8fbb39afadd21 (diff)
downloadguile-8397a3a69555c73d4e1df89ae96c561d2ea43188.tar.gz
local-eval will go away
* module/ice-9/debugger/commands.scm: * module/ice-9/debugging/traps.scm: * module/ice-9/emacs.scm: * module/ice-9/gds-client.scm: Add some FIXMEs due to impending local-eval removal. * module/oop/goops.scm (make-generic-bound-check-getter): Just the compiled closure case here.
Diffstat (limited to 'module/oop')
-rw-r--r--module/oop/goops.scm9
1 files changed, 1 insertions, 8 deletions
diff --git a/module/oop/goops.scm b/module/oop/goops.scm
index 87afae994..2e96e0b03 100644
--- a/module/oop/goops.scm
+++ b/module/oop/goops.scm
@@ -1114,14 +1114,7 @@
#:slot-definition slotdef)))
(define (make-generic-bound-check-getter proc)
- (let ((source (and (closure? proc) (procedure-source proc))))
- (if (and source (null? (cdddr source)))
- (let ((obj (caadr source)))
- ;; smart closure compilation
- (local-eval
- `(lambda (,obj) (,assert-bound ,(caddr source) ,obj))
- (procedure-environment proc)))
- (lambda (o) (assert-bound (proc o) o)))))
+ (lambda (o) (assert-bound (proc o) o)))
;; the idea is to compile the index into the procedure, for fastest
;; lookup. Also, @slot-ref and @slot-set! have their own bytecodes.