Componentizing D's garbage collector
Paulo Pinto
pjmlp at progtools.org
Wed Jan 15 23:59:22 PST 2014
On Tuesday, 14 January 2014 at 14:22:27 UTC, Timon Gehr wrote:
> On 01/14/2014 10:11 AM, Paulo Pinto wrote:
>> On Monday, 13 January 2014 at 23:42:50 UTC, Timon Gehr wrote:
>>> On 01/13/2014 11:05 PM, Paulo Pinto wrote:
>>>> Am 13.01.2014 22:31, schrieb Timon Gehr:
>>>>> On 01/13/2014 10:11 PM, Walter Bright wrote:
>>>>>>>
>>>>>>> Not to say there aren't other ways of doing things, but
>>>>>>> with random
>>>>>>> objects
>>>>>>> becoming pinnable puts a big damper on things unless you
>>>>>>> can identify
>>>>>>> all the
>>>>>>> objects that might be pinned and isolate them. But I
>>>>>>> doubt that's
>>>>>>> really
>>>>>>> knowable up front.
>>>>>>
>>>>>> The reason pinning doesn't particularly impede this is
>>>>>> because pinning
>>>>>> is rare.
>>>>>
>>>>> In Java or in D? Eg. there are no unions in Java.
>>>>
>>>> C# has unions.
>>>>
>>>> http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.structlayoutattribute%28v=vs.110%29.aspx
>>>>
>>>>
>>>
>>> "The common language runtime controls the physical layout of
>>> the data
>>> fields of a class or structure in managed memory. However,
>>> ..."
>>
>>
>> Did you also read the remaining part of the page,
>
> Obviously.
>
>> or just looked for something to paste?
>> ...
>
> Look, you hadn't done anything besides pasting for backing up
> your point or making it precise. I'll be proven wrong if you
> are able to show us how you do the following in C#:
>
> union U{
> int x;
> Object y;
> }
>
>> You can control the layout, that is what matters. Not at what
>> level you
>> are expressing it.
>> ...
>
> Obviously.
>
>> Ignoring what such runtimes offer, only puts D at disadvantage
>> when
>> comparing feature lists, which many in the industry do.
>>...
>
> Every resource I have encountered indicates that C# does not
> offer this functionality because it is detrimental to GC, eg:
>
> http://stackoverflow.com/questions/17771902/struct-memory-hack-to-overlap-object-reference-is-it-possible
Excuse me for being stupid.
I just read MSDN without trying it out, so I wasn't aware that
object references cannot be made to overllap with other data,
even in unsafe structs.
Me and my big mouth. Better test it properly next time.
--
Paulo
More information about the Digitalmars-d
mailing list