Re: HPUX Stack Structure
- From: Heriberto Bens <peekpoker@xxxxxxxxx>
- Date: Sat, 17 Feb 2007 00:00:51 +0000
On Fri, 16 Feb 2007 17:43:57 +0000, Don Morris wrote:
The ia64 is rather important.. because it lets you know why you see
things the way you do. If you look at:
http://developer.intel.com/design/itanium/manuals/iiasdmanual.htm,
you'll see that ia64 uses a Register Stack Engine (RSE) model.
Register frames (such as when you branch to a new subroutine) get
pushed onto a stack consisting solely of such frames. Memory used
within a subroutine which isn't in registers is in a different
stack (tradtional stack, Data stack, whatever you want to think of
it as).
Presumably you can now guess why you see what you're seeing. You're
printing out your stack local variables, which aren't implemented
as registers by your compiler..
Thank you very much, now I understand it. My compiler (gcc), as you say,
doesn't implement my variables as registers, so they appear on the stack.
But.. is this what compilers usually do? Wouldn't it be better to put them
in registers to take advantage of the RSE model, in the same way as
register windows are used in SPARC?
Thanks again!
--
Heriberto
.
- Follow-Ups:
- Re: HPUX Stack Structure
- From: Paul Pluzhnikov
- Re: HPUX Stack Structure
- References:
- HPUX Stack Structure
- From: Heriberto Bens
- Re: HPUX Stack Structure
- From: Don Morris
- HPUX Stack Structure
- Prev by Date: Re: HPUX Stack Structure
- Next by Date: Re: HPUX Stack Structure
- Previous by thread: Re: HPUX Stack Structure
- Next by thread: Re: HPUX Stack Structure
- Index(es):
Relevant Pages
|
|