Hi Mike,

On 30-12-12 03:56, Mike K wrote:

Okay, I sent it to you. I'm still trying to understand why the "inline"s
are there, though. Most of the other libraries don't have them. I would
say there needs to be a reason to have them, not a reason to remove them.

Thanks for sending me your program. I've analysed it, but first:

A compare with other libraries, written by other people, at another point in time, with a different version of the compiler, won't give a clue why the inlines are in the lcd libraries....

By browsing the old sources we might find when the inlines were introduced and by whom (probably me!), but I don't expect that will be of much help too.

The reason for the growth of the hex file by using pragma inline is caused by its propagation to called procedures, even when these don't have the pragma inline. I expected that a procedure like

procedure __lcd_write(byte in value) is
   pragma inline
   __lcd_write_nibble(value >> 4)
   __lcd_write_nibble(value)
end procedure

would expand in two inline calls to __lcd_write_nibble() in stead of a single call to __lcd_write() of which the body would have the expansion of the two calls to __lcd_write_nibble(). This would save some code memory when __lcd_write_nibble() is not called frequently.

But it appears that the __lcd_write_nibble is expanded inline too!
This propagation to called procedures is not explicitely mentioned in the compiler documentation. We must inform Kyle.

It could be that his behaviour of the compiler has changed after the pragma inlines were added to the library. A check with 2.4o and 2.4n showed no difference and I don't have older versions ready available.

Provisional conclusion: the use of 'pragma inline' in the libraries must be re-evaluated! Would you be so kind to open an issue at googlecode?

Regards, Rob.


--
R. Hamerling, Netherlands --- http://www.robh.nl

--
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/jallib?hl=en.

Reply via email to