manual memory management

Tove tove at fransson.se
Wed Jan 9 13:11:09 PST 2013


On Wednesday, 9 January 2013 at 20:16:04 UTC, Andrei Alexandrescu 
wrote:
> On 1/9/13 12:09 PM, Mehrdad wrote:
>> It's memory-safe too. What am I missing here?
>
> What you're missing is that you define a store that doesn't 
> model object references with object addresses. That's what I 
> meant by "references are part of the language". If store is 
> modeled by actual memory (i.e. accessing an object handle takes 
> you to the object), you must have GC for the language to be 
> safe. If store is actually indirected and gives up on the 
> notion of address, then sure you can implement safety checks. 
> The thing is everybody wants for references to model actual 
> object addresses; indirect handles as the core abstraction are 
> uninteresting.
>
>
> Andrei

Quote from OpenBSD's malloc implementation:
"On a call to free, memory is released and unmapped from the 
process address space using munmap."

I don't see why this approach is less safe than a GC... in fact, 
I claim it's safer, because it's far simpler to implement, and 
thus less likely to contain bugs and in addition it's easy to 
make performance vs safety trade-offs, simply by linking with 
another memory-allocator.


More information about the Digitalmars-d mailing list