On 06/28/2011 02:53 PM, H.J. Lu wrote:
This updated patch. It allows multiple unwind contexts. It replaces
char by_value[DWARF_FRAME_REGISTERS+1];
with
_Unwind_Word value[DWARF_FRAME_REGISTERS+1];
The code is cleaner than conditionally replacing
void *reg[DWARF_FRAME_REGISTERS+1];
with
_Unwind_Word reg[DWARF_FRAME_REGISTERS+1];
with a bigger unwind context.
It doesn't seem cleaner to me.
But it is more flexible if we
want to extend unwind context later, like saving/restoring
128bit or vector registers which may be bigger than the current
_Unwind_Word.
I don't see that, either; with either approach, supporting larger
registers would require a change to the the unwind context.
Jason