[fpc-devel] Improving Ref Counting

Jamie McCracken jamie-junk at blueyonder.co.uk
Sun Feb 27 13:31:42 CET 2005


Uberto Barbini wrote:
>>>I also thought immediately what Uberto already said: how do you recognize
>>>a valid/invalid reference without accessing memory that is invalid in the
>>>mean time.
>>
>>How does a GC do this? It would have the same problem?
> 
> 
> A GC dont' try to recognize a valid/invalid reference, it is invoked to free 
> unused memory, which it assume point to valid memory.

A GC needs to trace an object's references to see if anything still 
points to it. How else can it decide whether an object is no longer in use?


> 
> Anyway I still don't understand the goal of this discussion.
> Do you want to add some managed object in fpc? OK, but I suggest to start 
> studing how GC works in Java, Python and dotnet.

I dont want a full blown GC just a way to speed up ref counting so that 
it can be used elsewhere.

> 
> As for me I'd rather ask for not managed Interfaces in Delphi (fpc ones are 
> ok).

You already have them in Iunknown, ansistrings and variants. Its all a 
question of making them faster cause they are dog slow atm.

jamie.




More information about the fpc-devel mailing list