On Sat, Jul 13, 2013 at 11:57 AM, Jonathan S. Shapiro <[email protected]>wrote:
> What other language virtual machines am I failing to consider? > I think CLR is a better fit for your goals, but another semi-related option is V8+typed-arrays+typescript. In some ways, V8+typed-arrays+typescript could (if you squint a bit) seem very much like Java+boxed-value-types -- depending on the level of JIT optimization for wrappers around the typed-arrays. I say this because both Java and Javascript-prototypes use lazy method binding (aka everything is virtual), and JIT to optimize away some of that dispatch cost at runtime. This is in contrast to CLR, which supports non-virtual type-overloaded-functional-methods -- and as a result has more efficient (and potentially more rigid) ahead-of-time compilation. --- On a related note, some things you said long ago about GC and bitc have been swirling around in my head, and I recently have been trending towards a different conclusion than I had previously. I'm still a big proponent of adopting true pauseless GC solutions (like Azul-Zing), however, I think we have under-exploited possibilities to *dramatically* reduce pressure on the GC heap. Both by favoring "allocation-less" standard libraries, and by creating a more comfortable pattern for C-esq refcounted-struct-array-elements, with typesafe-handles (instead of pointers) between them. Between these two strategies, actual GC-traced pointers might be kept to a reasonable level while still achieving typesafety. I hope that very terse description makes some sense. I'm not going to say any more now because I don't want to derail the intent of your thread. Happy to discuss more on-or-off list.
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
