On Thu, Dec 1, 2011 at 11:22 PM, Juan Jose Garcia-Ripoll <span dir="ltr"><<a href="mailto:juanjose.garciaripoll@googlemail.com">juanjose.garciaripoll@googlemail.com</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;">

ECL now inlines forms with constant arguments.</blockquote></div><div><br></div>BTW, this also means that now ECL should be able to eliminate dead code branches, such as<div><br></div><div>(if (plusp (cos 1.0)) some-code some-unreachable-code))</div>

<div><br></div><div>See:</div><div><br></div><div><div>> (disassemble '(lambda (x) (if (plusp (cos 1.0)) (print 'hola) (error))))</div><div><br></div><div>;;; Compiling (DEFUN C::GAZONK ...).</div><div>;;; Warning:</div>

<div>;;;   ! The variable X is not used.</div><div>;;; Emitting code for C::GAZONK.</div><div>/*<span class="Apple-tab-span" style="white-space:pre">   </span>function definition for GAZONK                                */</div>

<div>/*<span class="Apple-tab-span" style="white-space:pre">    </span>optimize speed 3, debug 0, space 0, safety 2                  */</div><div>static cl_object L1c__gazonk(cl_object V1)</div><div>{ VT2 VLEX2 CLSR2 STCK2</div>

<div><span class="Apple-tab-span" style="white-space:pre">      </span>const cl_env_ptr cl_env_copy = ecl_process_env();</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>cl_object value0;</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>ecl_cs_check(cl_env_copy,value0);</div>

<div><span class="Apple-tab-span" style="white-space:pre">      </span>{</div><div>TTL:</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>value0=ecl_print(VV[2],Cnil); cl_env_copy->nvalues=1;</div><div>

<span class="Apple-tab-span" style="white-space:pre"> </span>return value0;</div><div>}}</div><div>NIL</div><div><br></div><div><br></div>-- <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>
</div>