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

Reply via email to