Changeset 5880


Ignore:
Timestamp:
02/19/04 18:17:51 (17 years ago)
Author:
piso
Message:

Work in progress: STD-COMPUTE-DISCRIMINATING-FUNCTION.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/lisp/clos.lisp

    r5876 r5880  
    22;;;
    33;;; Copyright (C) 2003-2004 Peter Graves
    4 ;;; $Id: clos.lisp,v 1.88 2004-02-19 15:38:25 piso Exp $
     4;;; $Id: clos.lisp,v 1.89 2004-02-19 18:17:51 piso Exp $
    55;;;
    66;;; This program is free software; you can redistribute it and/or
     
    12871287                              (slow-method-lookup ,gf args nil))
    12881288                           nil)
    1289              (make-closure
    1290               `(lambda (&rest args)
    1291                  (let* ((classes (mapcar #'class-of (required-portion ,gf args)))
    1292                         (emfun (gethash classes (classes-to-emf-table ,gf) nil)))
    1293                    (if emfun
    1294                        (funcall emfun args)
    1295                        (slow-method-lookup ,gf args classes))))
    1296               nil))))
     1289             (let ((emf-table (classes-to-emf-table gf)))
     1290               (make-closure
     1291                `(lambda (&rest args)
     1292                   (let* ((classes (mapcar #'class-of (required-portion ,gf args)))
     1293                          (emfun (gethash classes ,emf-table)))
     1294                     (if emfun
     1295                         (funcall emfun args)
     1296                         (slow-method-lookup ,gf args classes))))
     1297                nil)))))
    12971298    (when (and (fboundp 'jvm:jvm-compile)
    12981299               (not (autoloadp 'jvm:jvm-compile)))
Note: See TracChangeset for help on using the changeset viewer.