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

Reply via email to