Idea #1 on integrating RC with GC

Namespace rswhite4 at googlemail.com
Wed Feb 5 11:48:57 PST 2014


On Wednesday, 5 February 2014 at 19:42:26 UTC, Adam D. Ruppe 
wrote:
> On Wednesday, 5 February 2014 at 19:36:00 UTC, Namespace wrote:
>> 	static struct Payload {
>> 		void* ptr;
>> 		int* rc;
>> 	}
>>
>> 	Payload* p;
>
> Now there's double indirection to get to the data... and you 
> also forgot the necessary postblits and dtors to maintain the 
> reference count. (these could be inlined or elided in some 
> cases, but not all)
>
> You can't put the rc at the beginning of the pointer either, 
> since then a = a[1..$] won't work. So the added pointer is 
> unavoidable, your way or my way, both have a cost.

Hm, you're right. Would have been nice if the nice syntax could 
be retained, instead of further unsightly library solution.


More information about the Digitalmars-d mailing list