On Sun, Jul 31, 2011 at 04:38:39PM +0200, Stefan Marr wrote:
Any guess what the reason could be why the C compiler fails to do proper
inlineing?
I cannot really say, and I am not much of an expert of C compilers.
For the most part I was just concerned with the slang inliner itself
when I was doing this (it needed some tweaks and fixes before I could
get MemoryAccess to work properly). I was very impressed with how well
the slang inliner actually worked in practice, though I cannot say too
much about what it might take to get a C compiler to achieve similar
results. To be honest I would not much care about it, given how well
the slang inlining already works, and given that it is generating C
code that will work well on most any compiler. I also like the fact
that it is 100% Smalltalk, and does not rely on any hidden magic in
the external compiler.
Well, the interesting question for me is, does it pay of in terms of some percent speedup if I walk over the RoarVM codebase and add some more inline/force_inline hints here and there.