Changeset 12835
- Timestamp:
- 07/31/10 11:30:12 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
r12749 r12835 477 477 (defparameter *descriptors* (make-hash-table :test #'equal)) 478 478 479 ;; Just an experiment...480 (defmacro defsubst (name lambda-list &rest body)481 (let* ((block-name (fdefinition-block-name name))482 (expansion (generate-inline-expansion block-name lambda-list body)))483 `(progn484 (%defun ',name (lambda ,lambda-list (block ,block-name ,@body)))485 (precompile ',name)486 (eval-when (:compile-toplevel :load-toplevel :execute)487 (setf (inline-expansion ',name) ',expansion))488 ',name)))489 490 #+nil491 (defmacro defsubst (&rest args)492 `(defun ,@args))493 494 495 479 (declaim (ftype (function (t t) cons) get-descriptor-info)) 496 480 (defun get-descriptor-info (arg-types return-type) … … 502 486 (setf (gethash key ht) (make-descriptor-info arg-types return-type))))) 503 487 504 (defsubst get-descriptor (arg-types return-type) 488 (declaim (inline get-descriptor)) 489 (defun get-descriptor (arg-types return-type) 505 490 (car (get-descriptor-info arg-types return-type))) 506 491
Note: See TracChangeset
for help on using the changeset viewer.