This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Porting GCC troubles : about register window

 --- Hans-Peter Nilsson <> 的正文:> 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
> >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!
> brgds, H-P

Do You Yahoo!? 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]