[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Libunwind-devel] libunwind x86-64 optimisations?
From: |
Daniel Jacobowitz |
Subject: |
Re: [Libunwind-devel] libunwind x86-64 optimisations? |
Date: |
Mon, 6 Jul 2009 12:39:34 -0400 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
On Mon, Jul 06, 2009 at 06:20:55PM +0200, Lassi Tuura wrote:
> >This could also be a dynamic stack realignment (for support of
> >vectorization). I didn't think x86-64 needed that, though.
>
> OK, in the libraries I looked there's basically only use of r{6,7}
> +/- offset as a CFA. There's tons of DW_CFA_def_cfa_offset{,_sf} use
> which I meant the CFA isn't just a simple register value but an
> expression. (There were exceptions for syscalls and longjmp, but I
> think I can live with those :-)
That's just register+offset. You have to handle an offset; it's
pretty much never at offset 0.
You have to count on there being a few exceptions, but if they only
make you run the slower unwinder, it doesn't matter. This will cover
the majority.
--
Daniel Jacobowitz
CodeSourcery
Re: [Libunwind-devel] libunwind x86-64 optimisations?, Arun Sharma, 2009/07/07