Re: context::regs

Adam Lackorzynski <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <[email protected]>
On Wed Apr 29, 2015 at 14:20:11 +0800, watermirror wrote:
> hi,the implemention of Context::regs() is like this:
> 
> return reinterpret_cast<Entry_frame*>(Cpu::stack_align(reinterpret_cast<Mword>(this + Size)) -1;
> 
> how this algorithm came out?i think the memory of the object is allocated by c++ compiler,  but why '(this + Size)' could get Entry_frame of a thread?

The stacks of the threads have a 2^n size and are size-aligned which
makes such calculations possible. Threads also have their own new
operator which handles this.




Adam
-- 
Adam                 [email protected]
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.