[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Rep:Re: Rep:Re: Rep:Re: [f-cpu] Stack handling



Michael Riepe wrote:
> Is it so large that you can't convert it to ASCII and post it here?

I've started to write this paper for with two objectives, first explain 
the standard call convention, and second take some hints about compiler 
specific calling convention. So it was not a simple message but a doc 
about calling convention in FCpu.
But if you don't want to clic on the link, I can made post on the list 
(but it was alittle big when it was finished)

> On the other hand, we already had this discussion, didn't we?
> 

Yes but the objectives of this paper was not to restart a discution 
about this. And I think the actual call convention was not ok, we have 
some language/compiler specific feature, and we have thing like frame 
pointer that was not calling convention related but function prefix code 
related.

Cedric BAIL wrote:
 > An other question, why didn't you speak about the relocation problem
(big
 > problem on F-CPU) ?

This is a draft, not a finished paper, for the moment I don't speek 
about a lot of thing, I have a lot of thing I want to take about in that 
paper...

 >>But he explain that we only need to define a call convention to
 >>inter-language call so this CC don't have to be time critical, but he
 >>need to be simple, so the return address was stored in a register.
 >
 > I agree.

Good thing, I've found a people that understand what I think...


 >>But each compiler could choose to implement a stack for return address
 >>for all is internal call if he want (it seems better for security, but
 >>if programmer make good job...)
 >
 >
 > Programmer make good job ;-) Prefer to say compiler do the must do 
the best work
 > they can, because programmer didn't care about security and speed in 
most case.
 >

Yann Guidon wrote :
 >Yes, but we can hope in heaven programmer reread their code a lot of 
 >time and found all security hole...

 >However, i think that the people who discussed about the
 >parameter passing, have forgotten a VERY IMPORTANT DETAIL.
 >but i doubt they would care listen, even though this is absolutely
 >critical for performance. If they don't want to lose a factor
 >of roughly 5 on their codes, they MUST specify which registers
 >will be used as pointers. FC0 uses 8 pointers to data and 8 pointers
 >to instructions : a software-managed "return stack" and "data stack"
 >MUST be allocated (that is : there remains 48 registers for the rest).

I never heard about this, I've reread the manual and not found anything 
about this, could you detail it or point me some links about this ?

Tom


-- 
Thomas Lavergne                       "Le vrai rÍveur est celui qui rÍve
                                        de l'impossible."  (Elsa Triolet)
thomas.lavergne@laposte.net
d-12@laposte.net    ICQ:#137121910     http://assoc.wanadoo.fr/thallium/

*************************************************************
To unsubscribe, send an e-mail to majordomo@seul.org with
unsubscribe f-cpu       in the body. http://f-cpu.seul.org/