Am 21.09.2014 10:51, schrieb Jacob Carlborg:
On 2014-09-20 18:56, Andrei Alexandrescu wrote:

Please don't take me in a court of law. But yes, I am talking about the
compiler inserting calls to increment and decrement reference counts. --
Andrei

We do need to know what you're proposal is for. How else can we comment
on it? Paulo Pinto's comment "It requires compiler support, though"
suggests, at least to me, he didn't understand you suggested ARC, i.e.
RC with compiler support.


Sorry but I guess I did understand it. There are only four ways of doing RC, regardless how you name them.

- programmer writes manually calls to increment/decrement counters, like old time Cocoa and COM

- library types which take advantage of operator overloading for increment/decrement operations, like *_ptr<>(), ComPtr<>() and RefCounted

- automatic increment/decrement operations via special type or code pattern recognition => compiler support like Swift, Objective-C, C++/CLI, C++/CLX, Swift, Cedar, Modula-2+

- automatic increment/decrement operations via special type or code pattern recognition, followed by code removal of needless call pairs =>
compiler support like Objective-C and Swift

So given Andrei's comment, compiler support is required.

The only thing that distinguishes Apple solution from other ones, is that they made a marketing name for a common RC optimization.

--
Paulo

Reply via email to