[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