This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Porting GCC troubles : about register window
- From: chen haibo <chbchb1130 at yahoo dot com dot cn>
- To: Hans-Peter Nilsson <hp at bitrange dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 30 Sep 2003 11:19:55 +0800 (CST)
- Subject: Re: Porting GCC troubles : about register window
--- Hans-Peter Nilsson <hp@bitrange.com> 的正文:> On
Sun, 28 Sep 2003, [gb2312] chen haibo wrote:
> > I plan to port GCC for a new processor which
> has 16
> > sets of registers(8 in each set).Since only one
> > set is visible at any time so that I can omit the
> > register protection if the depth the call is not
> > exceed 16.
>
> Sounds like register windows, like sparc.
Yes,But sparc only has one uniform set of registers.
>
> > But the call depth did exceed 16, then I
> > should reserve all the registers to memory or each
> set
> > per time,and in my porting,I must each time to
> > judge if the call depth exceeds 16.
>
> I presume the register set pointer is a hidden
> register, not
> accessible from a program.
>
Yes,the register set pointer is part of a special
register,say psw,and I can set it through some special
instructions.
> >I think it is a
> > very trouble thing,I wonder if the GCC porting
> > mechanics has any interface to deal with it or if
> any
> > one know how to solve the problem.Wait for
> help,Thanks all!
>
> Nothing other than the obvious: pass the call depth
> as one of
> the function parameters.
>
But I don't think it pratical to force programmer to
write a function with its call depth as a parameter
and when we encounter a recursive function,we can not
even know the exactly what the call depth is.
I have seen that the INCOMING_REGNO,OUTGOING_REGNO and
LOCAL_REGNO macro is used for register window,but I
don't find it rather useful for my situation.
waiting for your help!
thanks!
> brgds, H-P
>
_________________________________________________________
Do You Yahoo!?
启用电邮帐号,领会雅虎通[身临其境聊电影]的动感魅力,还有网络摄像头+雅虎通收音机等你来拿
http://cn.rd.yahoo.com/mail_cn/tag/?http://cn.messenger.yahoo.com