comp.lang.ada
 help / color / mirror / Atom feed
From: "Warren W. Gay VE3WWG" <ve3wwg@home.com>
Subject: Re: Thoughts and Opinions or something like that
Date: Wed, 25 Apr 2001 17:26:20 GMT
Date: 2001-04-25T17:26:20+00:00	[thread overview]
Message-ID: <3AE708BB.1536FBF7@home.com> (raw)
In-Reply-To: wRxF6.384$vJ5.95977@news2-win.server.ntlworld.com

"chris.danx" wrote:
> 
> Hi,
>...snip... 
> > - support for coroutines (no single stack restrictions)
> >
> 
> I don't understand what you mean by "coroutines" but i assume from what comes
> next it's got something to do with multiple stacks.  I suppose i could try
> something like having more than one SP in the RISC version and see how that
> goes.  Pop S2, for pop stack 2.  Or more generically Pop An, where An is an
> address register pointing to the stack.  Then i could integrate more a specific,
> better design in the WillowVM (VM version 2).

Co-routines require multiple stacks, in the same way that threads do. What
happens in practice, some arbitrary amount is offsetted from the current
stack pointer (or its root), to start a new stack. In other words, one
stack is subdivided into many, to accomodate additional co-routines 
(or additional threads).

However, there is no law that says you have to implement stacks in this way,
but there are sometimes performance benefits to this, depending upon your
platform (memory pages behind the virtual pages are physically allocated 
as the stack grows deeper for example).  However, you could accomodate the
same effect with malloc() if your platform supports lazy virtual memory
allocation (I believe *BSD and Linux do this).

In any event, the bottom line is that you still have to decide on stack
sizes at some point :< , or accept them by default.

-- 
Warren W. Gay VE3WWG
http://members.home.net/ve3wwg



  reply	other threads:[~2001-04-25 17:26 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-24 17:12 Thoughts and Opinions or something like that chris.danx
2001-04-24 21:35 ` Ted Dennison
2001-04-24 23:27   ` chris.danx
2001-04-25  7:40 ` Andrew Cooke
2001-04-25 10:42   ` chris.danx
2001-04-25 17:26     ` Warren W. Gay VE3WWG [this message]
2001-04-26 14:22     ` Marcin 'Qrczak' Kowalczyk
     [not found]   ` <3AE69665.63E362CD@info.unicaen.fr>
2001-04-25 10:51     ` chris.danx
2001-04-25 13:51       ` Jerzy Karczmarczuk
2001-04-25 13:52         ` chris.danx
     [not found]     ` <3AE6DAB3.899FF645@andrewcooke.free-online.co.uk>
2001-04-25 14:30       ` chris.danx
     [not found]       ` <3AE7E37B.F384DCDA@info.unicaen.fr>
2001-04-26  9:02         ` Play with virtual machines (Was: Thoughts and Opinions...) chris.danx
     [not found]         ` <3AE81234.267643AC@kfunigraz.ac.at>
2001-04-26 12:57           ` chris.danx
2001-04-27  2:14             ` Larry Elmore
2001-04-27  3:27               ` Goldhammer
2001-05-03 17:00                 ` singlespeeder
2001-05-03 17:03                   ` singlespeeder
2001-04-25  9:06 ` Thoughts and Opinions or something like that Tarjei T. Jensen
2001-04-25 12:12   ` Jeffrey M. Vinocur
2001-04-26  2:12     ` Nicholas James NETHERCOTE
2001-04-26 18:23     ` Keith Thompson
2001-04-25 12:09 ` Alain Fischer
2001-04-27 18:20 ` brian hiles
2001-04-28  1:27   ` Gregory Toomey
2001-04-28 21:34     ` chris.danx
2001-04-28 21:34   ` chris.danx
2001-04-30  8:31     ` Jon Beniston
2001-05-04  8:49 ` Biep @ http://www.biep.org
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox