[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [f-cpu] new cjump instruction



----- Original Message -----
From: "Michael Riepe" <michael@stud.uni-hannover.de>
To: <f-cpu@seul.org>
Sent: Saturday, April 12, 2003 2:42 PM
Subject: Re: [f-cpu] new cjump instruction



> If the linker is allowed to move whole functions (atomically), that
> will not be a big problem.  If a function is smaller than a page, the
> linker can try to put it into a partially used page; if it doesn't fit
> or is larger than a page, the linker will have to allocate new pages
> and page-align the function.  The compiler will just have to specify
> beginning and end of functions (that's also needed for link-time register
> renaming BTW).  The problem is that we won't get so far at all.

Indeed, I was speaking about the worst case where we have a library where
there is one function for each source file of this library, so you will have
a bunch of object files to merge at the end. Sure so long as one function
can fit in a page, except that the linker must even relocate the local
semi-absolute address jump everytime inside a page (with a local relative
address jump for a loop, there is no need).

But anyway, it is too much a complication for the linker as for the compiler
to handle it. It doesn't worth this effort.


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