[Ecls-list] Argument passing optimization

Juan Jose Garcia Ripoll jlr at mpq.mpg.de
Mon Jun 7 01:40:08 UTC 2004


S B wrote:

>The compiler doesn't seem to optimise argument passing
>as described in section  8.6 of the user's guide and
>shown in section 5.4 of the developers guide.  Dual
>function entries are never generated regardless of
>type declarations. Are there any compiler switches
>that I'm missing or simply this feature isn't yet
>implemented?  
>  
>
The manual is out of date. The mechanism for producing dual function 
entries ---i.e. one C function that only receives cl_object arguments 
and another function (called by the first one) which only receives C 
native types (int, char, double, etc)--- relied on a very buggy piece of 
code and had to be removed. In other words, speed was sacrified for 
safety. However, the new way in which functions are handled, permits 
reimplementing this feature in a more general way. It will take some 
time, though.

As a side not, this feature as it was implemented, was intended for 
global functions, but only functions in the same file would profit from 
calling the unboxed version: all others would use the global one and 
would get a penalty because of the nested call to the unboxed one.

Regards,

Juanjo

-- 
Max-Planck-Institut fuer Quantenoptik	+49/(0)89/32905-345
Hans-Kopfermann-Str. 1, D-85748		www.mpq.mpg.de/Theorygroup/CIRAC/
Garching b. Muenchen, Germany		Juan.Ripoll at mpq.mpg.de






More information about the ecl-devel mailing list