[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pnet-developers] Re: [DotGNU]Fwd: [Bug #3669] Custom marshalers do not
From: |
Rhys Weatherley |
Subject: |
[Pnet-developers] Re: [DotGNU]Fwd: [Bug #3669] Custom marshalers do not work properly |
Date: |
Mon, 2 Jun 2003 17:10:18 +1000 |
User-agent: |
KMail/1.4.3 |
On Monday 02 June 2003 04:38 pm, Marcus wrote:
> Apparently, ilrun's ability to handle custom marshalers is sensitive to the
> optimization flags used.
Ick! Since I don't have an Athlon, reproducing it will be difficult, but I'll
poke around and see what I can do. Something may jump out at me. I was just
about to get to the bug when Gopal closed it. Sorry about that.
> The -mpreferred-stack-boundary flags doesn't seem to affect things, but if
> I include -march=athlon-tbird as the only flag, GCC has a register spill
> problem. Adding -fomit-frame-pointer to -march=athlon-tbird fixes that
> problem, but then custom marshallers fail.
There's not much I can do about the register spill, because it is a compiler
issue. The CVM interpreter uses fixed register assignments for pc, stacktop,
and frame to support the unroller, and if the compiler decides to usurp those
fixed assignments, then there's not much I can do to stop it without turning
off the x86 unroller. And the result of doing that will be *very* slow.
This is related to bug #3586 also. Can I close that bug with "you'll have to
use -fomit-frame-pointer to work around gcc's silly Athlon register
assignment rules"? I'm not really sure what else I can do. I'm certainly
open to suggestions.
Cheers,
Rhys.