The "no gc" crowd

Manu turkeyman at gmail.com
Wed Oct 9 20:06:31 PDT 2013


On 10 October 2013 03:13, Michel Fortin <michel.fortin at michelf.ca> wrote:

> On 2013-10-09 16:51:03 +0000, Manu <turkeyman at gmail.com> said:
>
>  On 10 October 2013 01:40, Johannes Pfau <nospam at example.com> wrote:
>>
>>  But if someone really wants to strip the GC _completely_ there's a huge
>>> issue with memory management of Exceptions.
>>>
>>
>> Exceptions have a pretty well defined lifetime... can't they be manually
>> cleaned up by the exception handler after the catching scope exits?
>>
>
> Exceptions don't need a well-defined lifetime for things to work.
>
> D exceptions are classes and are heap-allocated. So if everything becomes
> reference-counted, exceptions would be reference-counted too. The exception
> handler would be the one decrementing the reference count once it has done
> with the exception (all this under the hood, managed by the compiler).
>
> Alternatively an exception handler could return the exception to the
> parent function (as a return value), store the exception elsewhere, or
> throw it again, in which case the decrement operation would be balanced by
> an increment, and both increment and decrement should be elided by the
> compiler as they're cancelling each other.
>
> I fail to see an issue.


I was talking about using exceptions without any sort of GC at all.
I think it's the only critical language feature left that relies on a GC in
some form.
If would be nice if at least the fundamental language concepts were usable
without a GC of any sort.
Most other things can be reasonably worked around at this point.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20131010/08d36bbb/attachment.html>


More information about the Digitalmars-d mailing list