The "no gc" crowd
Justin Whear
justin at economicmodeling.com
Thu Oct 10 11:14:18 PDT 2013
On Wed, 09 Oct 2013 22:30:05 +0200, Adam D. Ruppe wrote:
> On Wednesday, 9 October 2013 at 20:10:40 UTC, Justin Whear wrote:
>> Related to the latter, it would be really nice to be able to prove that
>> a section of code makes no heap allocations/GC collections.
>
> As a quick temporary thing, how about gc_throw_on_next(); ?
>
> That'd just set a thread local flag that gc_malloc checks and if it is
> set, immediately resets it and throws an AllocAssertError. My thought is
> this could be quickly and easily implemented pending a better solution
> and in the mean time can be used in unit tests to help check this stuff.
So user-code would look like this?
// Set up code, GC is fine here
...
// Entering critical loop (which may run for months at a time)
debug GC.throw_on_next(true);
while (true)
{
...
}
// Tear-down code, GC is fine here
// (though unnecessary as the process is about to exit)
debug GC.throw_on_next(false);
...
Something like this would make testing simpler and is probably much more
feasible than deep static analysis.
More information about the Digitalmars-d
mailing list