[Ecls-list] AREF/SVREF/CHAR/SCHAR/ELT and signals

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Sun Apr 3 19:44:36 UTC 2011


On Sun, Apr 3, 2011 at 8:51 PM, Matthew Mondor <mm_lists at pulsar-zone.net>wrote:

> Yes, I think that I now understand this.  It also appears that in some
> particular cases AREF access will be inlined at safety=0, which is a
> very nice thing too.
>

AREF is inlined in many cases, including multidimensional access, but the
level of inlining may vary. If you have a look at src/cmppolicy.lsp you will
find

(define-policy inline-accessors :off debug 2 :off space 3
  "Inline access to object slots, including conses and arrays")

(define-policy open-code-aref/aset :alias inline-accessors
  "Inline access to arrays")

This means AREF is always open-coded unless DEBUG >= 2. But open-coding only
means that AREF is translated into ROW-MAJOR-AREF and this one is only
inlined when safety settings are low and the type of the array is known in
advance.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20110403/d0118dc1/attachment.html>


More information about the ecl-devel mailing list