whole-program optimisation the hard way
Posted Mar 10, 2006 7:29 UTC (Fri) by massimiliano
In reply to: whole-program optimisation the hard way
Parent article: Some patches of interest
...possibilities include an intermediate representation (in the form of a bytecoded language for a nonexistent virtual machine) which GCC can save, load several of, and optimize. Politics is involved here, though, and whatever's done it'll be a lot of work.
Yes, but the approach would be the right one IMHO.
For instance, in Mono the JIT lays out the compiled methods sequentially
in memory, and since methods are compiled on demand, this naturally
creates a "cache friendly" memory layout for the machine code, where
methods close in the call tree are close in memory.
We have an AOT compiler, but it misses this (and other) optimization
opportunities, and we can see it.
And having a CPU independent intermediate representation can solve
a lot of other problems as well (and is the whole point of the
existance of the ECMA standards implemented by Mono and MS .NET).
Now, of course this involves politics :-(
to post comments)