If the conversion is tractable and we end up with module ergonomics that
frontend developers are happy with, I'm certainly in favor of this from the
platform side. It would get us the 15-20MB of memory savings that bug
1186409 was pursuing without the smoke and mirrors.

bholley

On Sat, Sep 24, 2016 at 3:13 PM, David Teller <dtel...@mozilla.com> wrote:

> Once again, there have been discussions on the feasibility of adding
> static analysis to our JS code, possibly as part of MozReview. As usual,
> one of the main problems is that we are not using standard JS, so we
> pretty much cannot use standard tools.
>
> One of the main differences between mozilla-central JS and standard JS
> is our module system. We use `Components.utils.import`, while the rest
> of the world is using `require`-style modules. If we could get rid of
> `Cu.import`, we would be a very large step closer towards standard JS.
>
> Which begs the question: what's the point of `Cu.import` these days?
>
> Yes, I'm aware that it isolates code in separate compartments, and that
> there is a benefit to isolating add-on code from platform code. However,
> it is pretty unclear to me that there is any benefit in separating
> compartments inside mozilla-central, rather than, say, relying upon
> static analysis and/or reviews to ensure that nobody modifies
> `Object.prototype` in funky ways.
>
> If we decide to abandon the guarantees provided by compartments to
> isolate mozilla-central modules from each other, it's not hard to imagine:
> - semi-automated rewrites that could convert mozilla-central code to
> RequireJS-style modules, all sharing a single compartment (per process);
> - a backwards compatible, compartment-isolating implementation of
> `Cu.import` for the sake of add-ons.
>
> There would also be side-benefits in terms of memory usage, which is
> always good to have.
>
> So, can anybody think of good reason to not do this?
>
> Cheers,
>  David
> _______________________________________________
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform
>
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to