Is there an object on given memory address?

via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Feb 12 08:56:22 PST 2015


On Thursday, 12 February 2015 at 16:27:21 UTC, Ola Fosheim 
Grøstad wrote:
> On Thursday, 12 February 2015 at 15:53:07 UTC, Marc Schütz 
> wrote:
>> On Thursday, 12 February 2015 at 10:16:49 UTC, Ola Fosheim 
>> Grøstad wrote:
>>> then query the GC wether the memory is still allocated.
>>
>> This is racy, though. Someone (or the GC) could have freed the 
>> object in the meantime, and a new object of potentially 
>> different type could have taken its place. You won't get 
>> around pinning it.
>
> It will statistically work for objects that are large and have 
> high entropy. Just hash the fields you want to be the same. If 
> entropy is a problem add a unique instance id that is a large 
> random bit string and make sure it is cleared when the object 
> is released.
>
> It's the same technique used for IDs in distributed systems 
> under the assumption that the probability of hardware failure 
> is larger than the probability of a ID collision... but you 
> have to do the math to be sure that the probability of failure 
> is acceptable.

Whoaa, that's just horrible! *shudder*


More information about the Digitalmars-d-learn mailing list