On 2017-01-27 11:24 AM, Brian Hackett wrote:
> On Fri, Jan 27, 2017 at 8:55 AM, Benjamin Smedberg
> <benja...@smedbergs.us> wrote:
>> Is there something that explains a little more what gains this will buy us
>> or how it will be used at the DOM level?
> 
> The best link I think is Bill's Quantum DOM blog post:
> 
> https://billmccloskey.wordpress.com/2016/10/27/mozillas-quantum-project/
> 
> This post focuses on cooperative multithreading, whereas now we'd like
> to get to the point of having preemptive multithreading.  From the
> engine's perspective much of the reorganization is necessary with
> either approach though.

Actually running these threads concurrently is a non-goal for Quantum DOM.

>> What will these multiple threads actually be doing, running script from a
>> single webpage?
> 
> No, we need to preserve run-to-completion semantics for JS, so JS
> scripts that can communicate with each other will end up being in the
> same zone group and will not be able to execute on different threads.
> 
> More precisely, we'll have one zone group for each DocGroup (or maybe
> TabGroup, I'm not sure) on the DOM side, per the definitions in this
> link:
> 
> https://wiki.mozilla.org/Quantum/DOM

I think each zone group should currently map to a TabGroup (which means
the sets of tabs that can synchronously script each other through
window.opener relationships).

In the future we may want to preemptively schedule things at the
DocGroup boundary (which means pages that can synchronously script each
other by being same origin) but we're far from other blockers that
currently make that impossible.  Right now we're planning to re-evaluate
whether we want to try to preempt at the DocGroup level when the current
project is finished.

So based on this, I think in theory it's better to keep it configurable
what the zone group maps to, but in practical terms, TabGroup is what we
care more about in the near term.

Cheers,
Ehsan
_______________________________________________
dev-tech-js-engine-internals mailing list
dev-tech-js-engine-internals@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to