On Fri, 2004-02-13 at 05:44, Steve Wampler wrote:

> (3) Please explain how the implementation would handle the following:
> 
>      global x, a
>      ...
>      f()
>      pull(a)
>      g()
>      ...
> 
>      procedure g()
>         write(.x)     # I'm assuming explicit deferencing, so it's
>      end                   #   easier to discuss...
>  
> 
> (3a) procedure f()
>           local y
>           x := $y          # note that y is an offset from the frame
>                              #   pointer, and that, (*I think*) if the
> call is
>                              #   inside a co-expression, then garbage
>                              #   collection may change the actual
> location of
>                              #   the frame in memory.
>       end
> 
> (3b) procedure f()
>            a := [1,2,3,4,5]
>            x := $a[5]
>       end

Add:

   (3c)
         procedure f()
              local y
              x := $y
              collect()
              g()
         end

Note, I'm not suggesting that these are 'impossible'
cases, but just that I believe there is a lot that
has to be considered and handled, and it's not
necessarily obvious how to do so.  The student
project Clint mentioned is probably the best place
to start!

-- 
Steve Wampler <[EMAIL PROTECTED]>


-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Unicon-group mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/unicon-group

Reply via email to