IIRC, Most sources of non-determinism are obvious: * Builtins like Date and Random * Host environment artifacts like network message receipt order and a piece of code that doesn't rely on one of those is deterministic. There are a few sources of non-determinism that are hard to statically rule out: * Catchable exceptions due to lack of memory or stack overflow but you can still reason about fail-stop deterministic code.
If GC is observable then the set of statements that are obviously deterministic by either metric is much smaller. Sources of non-determinism are also sources of hard-to-diagnose heisenbugs. I don't know too much about how carving out a deterministic subset of the language might be handy otherwise, but non-determinism and side-channels often go hand in hand. On Fri, Oct 20, 2017 at 8:07 AM, Michał Wadas <michalwa...@gmail.com> wrote: > Hi. > > Is there any comprehensive answer about why ability to observe garbage > collection is considered undesirable in JavaScript? > > Michał Wadas > > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > _______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss