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
For information, I compiled from CVS and I was trying
the example shown in the U/D guides.
Do you Yahoo!?
Friends. Fun. Try the all-new Yahoo! Messenger.
From: Juan Jose Garcia Ripoll <jlr@mp...> - 2004-06-07 08:39:43
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
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
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.
Max-Planck-Institut fuer Quantenoptik +49/(0)89/32905-345
Hans-Kopfermann-Str. 1, D-85748 http://www.mpq.mpg.de/Theorygroup/CIRAC/
Garching b. Muenchen, Germany Juan.Ripoll@...