The biggest problem is when to initiate the detection and still maintain some 
form of determinism. That was the algorithm I proposed a while back, but it was 
not without a drawbacks. It would have affected performance.
There is not really a silver bullet for this as far as I know.

With best regards,
Boian Mitov

-------------------------------------------------------
Mitov Software
www.mitov.com
-------------------------------------------------------

From: Sven Barth 
Sent: Sunday, September 21, 2014 12:33 AM
To: FPC developers' list 
Subject: Re: [fpc-devel] Suggestion: reference counted objects

Am 21.09.2014 06:11 schrieb "Boian Mitov" <mi...@mitov.com>:
>
> Unless you implement something like the semi-deterministic GC that I proposed 
> few years ago, weak pointers are the only solution for avoiding circular 
> reference deadlock in ARC as far as I know. They are simply necessary evil, 
> and a small one base on my current experience with them.

There are cycle detection algorithms that could be used upon a decrease of a 
reference count. Biggest problem is that they would be quite expensive 
(regarding performance) in case of complex object instance "graphs" like the 
LCL/VCL.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to