Daniel White wrote:
That would be a bad idea.  Then how would you do manual memory
management in the few cases that absolutely require it?

Two ways. Either:

a: being able to lock the variable so that the garbage collector
can't touch it until you unlock it.

If you have a reference to the memory, the GC won't collect it. Unless you make a habit of hiding pointers inside non-pointer types, that is, which can result in undefined behavior if the hidden pointer points to GC-allocated memory.

If you don't have any reference to that memory, then the garbage collector can free it, but in that case, I don't see why it would be an issue, most of the time. If you have a destructor, just be careful -- for instance, if you have an open file in that object and its destructor closes that file.

b: Using a slightly different version of malloc (say 'mallocl') which again,
makes it shielded against the garbage collector's wrath.

malloc is C stdlib malloc. The garbage collector won't touch it.

Reply via email to