How do you make the copy/move of the object from one location in memory and
the update of the pointer to the pointer ATOMIC? If you don't, it doesn't
matter how many layers of indirection you have, it will still be a problem....
;^)

-----Original Message-----
From: Piers Cawley [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 25, 2004 2:17 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Re: Ulterior Reference Counting for DoD?


Leopold Toetsch <[EMAIL PROTECTED]> writes:

> [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>> On 25/03/2004, at 9:01 PM, Leopold Toetsch wrote:
>
>>> All these generational collectors don't work with Parrot objects. We
>>> guarantee that objects don't move around.
>
>> Oh, I didn't see a mention of this in a PDD.  What's the reason for why
>> you provide such a guarantee?  Just curious.
>
> PMCs are passed on to (external) C code. When inmidst of C code the
> PMC moves around things break horribly--as they now break with the
> copying collector when you do:
>
>   char *c = string->strstart;
>   ...
>   <GC runs e.g. triggered by string_compare>
>   ...
>   do something with c

I know it's extra indirection, but maybe we should be passing pointers
to pointers rather than plain pointers to C functions. It could be a
win if that gets us faster GC...


 The information contained in this e-mail message is privileged and/or
 confidential and is intended only for the use of the individual or entity
 named above.  If the reader of this message is not the intended recipient,
 or the employee or agent responsible to deliver it to the intended 
 recipient, you are hereby notified that any dissemination, distribution or 
 copying of this communication is strictly prohibited.  If you have received 
 this communication in error, please immediately notify us by telephone
 (330-668-5000), and destroy the original message.  Thank you.  


Reply via email to