On Sun, Apr 3, 2011 at 8:51 PM, Matthew Mondor <span dir="ltr"><<a href="mailto:mm_lists@pulsar-zone.net">mm_lists@pulsar-zone.net</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div id=":1pu">Yes, I think that I now understand this. It also appears that in some<br>
particular cases AREF access will be inlined at safety=0, which is a<br>
very nice thing too.</div></blockquote></div><br>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<br><br>(define-policy inline-accessors :off debug 2 :off space 3<br>
"Inline access to object slots, including conses and arrays")<br><br>(define-policy open-code-aref/aset :alias inline-accessors<br> "Inline access to arrays")<br><br>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.<br>
<br>Juanjo<br clear="all"><br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>