Tim,
> Some time ago John released a changeset to put (most) globals into a
> struct that imporves PPC performance by 10% or so (IIRC). I
> finally made time to check it out for Acorn and with a few changes
> it improves macroBenchmark performance by +30%. This makes me very
happy.
Interesting. BTW, the reason why it doesn't work well with Intel is that
Intel has all sorts of global addressing modes built into the
instructions, meaning there's no extra indirection required for
accessing globals and that "wasting" that extra register for holding the
ref to the global structure will work heavily against you.
> I seem to remember Andreas finding that it slowed down the Windows vm,
> so clearly it will have to be included in VMM in machine aware manner,
> but 30% is not to be sneezed at. It's possible that the ARM winCE vm
> might benefit from the change.
Very likely. I've been wanting to look at the generated code a little
more because in theory the compiler should be capable to figure out the
memory locations statically which would solve the problem on Intel. I
haven't had the time to look at it though.
Cheers,
- Andreas
|