We have been trying to improve sharing in JSC for a while now. We can share 
bytecode between realms, but this is mostly about reducing parse time rather 
than space saving - the bytecode has to be "linked" before a realm uses it, 
which involves making a copy of most of the data structures. 

I don't think that full sharing is impossible in the current language. Turning 
off the link step - or eliminating the need for a full copy - is almost doable, 
but would have some cost for variable resolution performance in the early 
iterations of a function. I've been toying with sharing JIT code at the lowest 
JIT tier, which would have similar trade offs. 

Something that JSC does have going for it if we had a larger library footprint 
is that we interpret bytecode for the first 100 or so executions of any 
function. Even when we have to splat a copy of the bytecode, it still takes 
less memory than machine code at any level of optimization. 

So, I'm curious what issues you were specifically concerned about.

-Filip

> On Jan 13, 2015, at 4:21 AM, Anne van Kesteren <ann...@annevk.nl> wrote:
> 
> A big challenge with self-hosting is memory consumption. A JavaScript
> implementation is tied to a realm and therefore each realm will have
> its own implementation. Contrast this with a C++ implementation of the
> same feature that can be shared across many realms. The C++
> implementation is much more efficient.
> 
> If we want to get further with turning the web platform into a giant
> JavaScript library, we need to tackle this somehow.
> 
> Has anyone been thinking about how to do this and what changes it
> would require from JavaScript proper? We're now at the point where we
> can implement platform objects in terms of JavaScript, but JavaScript
> loses out due to lack of efficiency.
> 
> 
> PS: Alternative explanation available here:
> https://annevankesteren.nl/2015/01/javascript-web-platform
> 
> 
> -- 
> https://annevankesteren.nl/
> _______________________________________________
> 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