Re: [cc65] Own parameter call stack?

From: Ullrich von Bassewitz <uz1musoftware.de>
Date: 2009-09-03 11:17:52
On Thu, Sep 03, 2009 at 07:56:26AM +0300, Karri Kaksonen wrote:
> I also compiled the solitaire with the compiler from the subversion
> trunk. The binary was 61 bytes bigger than what the previous compiler
> produced. 

Some runtime functions have been changed. The multiplication and division
routines are now a lot faster in many cases, unfortunately at the expense of
code size. And, the compiler will inline more code. While this can be roughly
controlled with --codesize, in some places choosing a bigger --codesize
argument will actually make the code smaller! This is because inlining the
code will make it visible to the optimizer, which is then able to remove part
of it or remove register loads in other places, because it can now see that
they're no longer necessary.

So size changes depend a lot on your code. Especially in such a big
application, I would say 61 bytes are almost nothing:-)

> I left all the intermediate *.s files from the compilation and
> removed all the files that were equal. If you are interested download
> http://sipo.fi/diffs.tar.gz There are two trees "new" for the current
> svn compiler "old" for the 2.11.something compiler.

The generated code with -O is so different, that it's probably not worth the
trouble to compare the two as long as there is no problem. If you have a place
where you think that the current compiler generates extremely large or
ineffective code, please let me know.

> But the code seems to work with both compilers.

Thanks!

Regards


        Uz


-- 
Ullrich von Bassewitz                                  uz@musoftware.de
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Thu Sep 3 11:19:08 2009

This archive was generated by hypermail 2.1.8 : 2009-09-03 11:19:10 CEST