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
