From 8ad889e2c43578ca94db919a4966209f4d59fcce Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 28 May 2014 07:49:12 +0100 Subject: [PATCH] racket/class: shave a little time from `send` --- racket/collects/racket/private/class-internal.rkt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/racket/collects/racket/private/class-internal.rkt b/racket/collects/racket/private/class-internal.rkt index 555d41af00..b8c83b2e0e 100644 --- a/racket/collects/racket/private/class-internal.rkt +++ b/racket/collects/racket/private/class-internal.rkt @@ -3709,12 +3709,12 @@ An example (define (find-method/who who in-object name) (cond - [(_object? in-object) - (define cls (object-ref in-object #f)) - (define mth-idx (hash-ref (class-method-ht cls) name #f)) - (if mth-idx - (vector-ref (class-methods cls) mth-idx) - (no-such-method who name cls))] + [(object-ref in-object #f) ; non-#f result implies `_object?` + => (lambda (cls) + (define mth-idx (hash-ref (class-method-ht cls) name #f)) + (if mth-idx + (vector-ref (class-methods cls) mth-idx) + (no-such-method who name cls)))] [(wrapped-object? in-object) (define cls (let loop ([obj in-object])