[Ecls-list] ECL shootout

Marko Kocić marko.kocic at gmail.com
Thu Jul 2 12:12:18 UTC 2009


2009/6/30 Juan Jose Garcia-Ripoll <juanjose.garciaripoll at googlemail.com>:
> 2) Add additional inline forms for some of those functions given the
> types of the arguments. The list of inline forms for ELT and others is
> currently very limited. See:
>
> (def-inline elt :always (t t) t "ecl_elt(#0,fixint(#1))")
> (def-inline elt :always (t fixnum) t "ecl_elt(#0,#1)")
> (def-inline elt :unsafe (t t) t "ecl_elt(#0,fix(#1))")
> (def-inline elt :unsafe (t fixnum) t "ecl_elt(#0,#1)")
>
> One could add others that mimic what is done with arrays:
> (def-inline elt :unsafe ((array t (*)) fixnum) t "...")
> This does not really involve learning about the compiler but requires
> knowing a bit about the C interface.

Do you mean something like this (see attached patch)?
It seems like it didn't break anything, but I'm not sure it helps much
since it is not much used, at least directly in cl-bench.

Regards,
Marko
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-More-inlining-on-elt.patch
Type: text/x-patch
Size: 1856 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20090702/934bc820/attachment.bin>


More information about the ecl-devel mailing list