[fpc-devel] Improving Ref Counting
Marco van de Voort
marcov at stack.nl
Sun Feb 27 12:52:00 CET 2005
> circular refs should also be done if applicable)
> 6) Whenever an exception is thrown, wait until its either handled or
> fully propagated and then perform some garbage collection. (traverse the
> single linked list of all managed objects and for each object check
> whether anything that references it is still valid and delete if
> appropriate).
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.
Also note that the list of references must be a dynamically size structure,
incurring getmem and size-change overhead on a simple assignment.
I doubt performance would improve, specially since the edge of this problem
(the worst 90%) can be taken off by simply disabling try...finally generation
in places where they are unlikely to happen.
More information about the fpc-devel
mailing list