From: Freejack <freejack@nowhere.net>
Subject: Re: Objects and the Stack?
Date: Fri, 17 Dec 2004 19:52:24 GMT
Date: 2004-12-17T19:52:24+00:00 [thread overview]
Message-ID: <pan.2004.12.17.15.01.13.949959@nowhere.net> (raw)
In-Reply-To: 32fv82F3l9al7U1@individual.net
On Fri, 17 Dec 2004 11:46:11 +0000, Nick Roberts wrote:
> I suppose so, but I think I should tell you now that what you trying
> (above) cannot work. The assumption in Ada is that the space reserved
> within a stack frame for an object cannot be resized (even though the space
> used /within/ the space reserved for an object can). So the compiler must
> be able to allocate the maximum size of an object on the stack. Since what
> you are attempting could cause Stack to grow to any size without limit, the
> compiler cannot know what maximum to allocate. It won't work, and so you
> must use the heap (or more correctly, a 'storage pool').
>
> Ada has no equivalent of alloca() in C. It might be interesting to
> experiment with a compiler extension to provide this facility. Certain
> algorithms might benefit from it.
>
> declare
> Name: String := "";
> pragma Extensible_Object(Name);
> begin
> ...
> Name := Name & ':'; -- changes its size
> ...
>
> It's an idea.
I think the florist bindings have an Interface to the brk() and sbrk()
system calls, which is how it's usually done in C/Asm.
Perhaps by declaring the Objects to be Controlled, and then putting in
calls to brk() one might achieve the same effect.
Freejack
next prev parent reply other threads:[~2004-12-17 19:52 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-12-16 22:27 Objects and the Stack? Freejack
2004-12-16 23:13 ` Nick Roberts
2004-12-20 14:50 ` Marc A. Criley
2004-12-20 16:22 ` Marius Amado Alves
2004-12-20 18:31 ` Dmitry A. Kazakov
2004-12-17 0:28 ` Jeffrey Carter
2004-12-17 8:45 ` Freejack
2004-12-17 11:11 ` Martin Dowie
2004-12-17 11:46 ` Nick Roberts
2004-12-17 19:52 ` Freejack [this message]
2004-12-18 4:02 ` Nick Roberts
2004-12-27 4:34 ` Dave Thompson
2004-12-18 19:41 ` Warren W. Gay VE3WWG
2004-12-18 20:50 ` Freejack
2004-12-18 21:15 ` Dmitry A. Kazakov
2004-12-27 4:34 ` Dave Thompson
2004-12-18 0:12 ` Jeffrey Carter
2004-12-18 0:43 ` Jeffrey Carter
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox