Custom Query (1030 matches)
Results (844 - 846 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #1280 | fixed | Cannot INLINE functions created by MACROLET | ||
| Description |
A function defined with MACROLET that is declaimed as INLINE doesn't seem to actually inline at the call site. If you manually write the definition out without the MACROLET, inlining works as expected. I have tried locally declaring the function as INLINE at the call site, and I have also tried doing a DECLAIM INLINE outside of the MACROLET, all to no avail. See the interactions below to reproduce. File def.lisp (defpackage :foo
(:use :cl)
(:export fun))
(in-package :foo)
(macrolet ((def (name op)
`(progn
(declaim (inline ,name))
(defun ,name (a b)
(,op a b)))))
(def fun +))
File use.lisp (in-package :cl-user) (defun bar (a b) (declare (optimize speed (safety 0) (debug 0) (space 0))) (foo:fun a (* a b))) REPL interaction (note the line marked with !!!!...!!) CL-USER> (lisp-implementation-type) "Clozure Common Lisp" CL-USER> (lisp-implementation-version) "Version 1.11-dev-r16361M-trunk (LinuxARM32)" CL-USER> (load (compile-file "def.lisp")) #P"def.lafsl" CL-USER> (load (compile-file "use.lisp")) #P"use.lafsl" CL-USER> (disassemble #'bar) ;; Source: "use.lisp.newest":23-122 (mov imm0 (:$ 19)) (stmdb (:! sp) (imm0 vsp fn lr)) (mov fn temp2) (stmdb (:! vsp) (arg_z arg_y)) ;[12] ;;; (* a b) (sploadlr .SPbuiltin-times) ;[16] (blx lr) ;;; (foo:fun a (* a b)) (ldr arg_y (:@ vsp (:$ 4))) ;[24] (mov nargs (:$ 8)) (ldr temp1 (:@ fn 'FOO:FUN)) ; *** !!!!!!!!!!!!!! (ldmia (:! sp) (imm0 vsp fn lr)) (ldr temp2 (:@ temp1 (:$ 6))) ;[40] (ldr pc (:@ temp2 (:$ -2))) ;;; #<no source text> NIL |
|||
| #287 | fixed | Can't trace single-method generic functions | ||
| Description |
? (defmethod frotz (x) (print x)) #<STANDARD-METHOD FROTZ (T)> ? (trace frotz) NIL ? (frotz 17) 0> Calling (FROTZ 17) > Error: Too many arguments in call to #<METHOD-FUNCTION FROTZ (T)>: > 2 arguments provided, at most 1 accepted. > While executing: #<STANDARD-METHOD FROTZ (T)>, in process listener(1). > Type :POP to abort, :R for a list of available restarts. > Type :? for other options. 1 > |
|||
| #634 | fixed | Can't recover trac password | ||
| Description |
See http://clozure.com/pipermail/openmcl-devel/2009-November/010735.html |
|||
Note:
See TracQuery
for help on using queries.
