On Thu, Apr 12, 2012 at 3:36 PM, David Jeske <[email protected]> wrote:

> Claiming a collector has no unpredictable pauses because it only pauses
> during allocation is only an interesting observation when it is coupled
> with general case allocation-free solutions to common problems. This is
> greatly complicated when one wants to use standard components and libraries
> written by others which "may or may not" use these techniques.
>

That seems like a very valid point.

Perhaps it raises a small additional retrospective point concerning BitC:
the language had some very minor features that were designed to address
this type of need (which, sadly, didn't get implemented). One of these was
effect typing on two effects:

   - heap allocation
   - noescape
   - confined

The first is important because it addresses exactly the issue you raise.
It's not practical to try to build non-allocating subprograms unless you
can state contracts about allocation in the language. I'd note that heap
allocation isn't the only interesting effect here. I/O is another.

Escape analysis is another interesting case, since it lets us know whether
we are dealing with contained subsystems.

Confined is merely escape analysis in both directions, which is important
because it tells us that the subsystem is deterministic.


> We just have to stop stopping the world...
>

I think we all basically agree about that. Get to work on that collector!

I'm going to send out an addendum about STOPLESS on the other thread.
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to