From: Godmar Back (gback@cs.utah.edu)
Date: Wed Dec 09 1998 - 11:49:12 EST
>
> On Dec 7, 1998, Godmar Back <gback@cs.utah.edu> wrote:
>
> >> > I already mentioned one possible reason: the non-alignment of branch targets.
>
> >> Yep, it may cause large differences WRT to internal caches of the
> >> processors too.
>
> > The alignment issue seems like it should be easy to fix.
> > What do you think?
>
> Dunno. Isn't the code already aligned at 8-byte boundaries, due to
> gc_alloc() for the JIT?
>
gc_alloc would 8-byte align the function entry points.
gcc & company, according to what I've heard, aligns these at 16-byte
boundaries.
However, the probably more important issue is branch targets.
According to what I've heard, these are 4-byte aligned while Kaffe's
JIT does not align them at all.
> BTW, I've just got this URL from the EGCS mailing list. It contains
> lots of hints for optimizing code for Pentium* processors.
>
>
> http://www.announce.com/agner/assem/
>
Will take a look at it when I have time.
Thanks,
- Godmar
This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 19:57:08 EDT