Changes

Jump to: navigation, search

Gecko:Overview

129 bytes added, 21:33, 2 May 2018
JavaScript Engine: add video
* Compartments: A '''compartment''' is a subdivision of the JS heap. The mapping from global objects to compartments is one-to-one; that is, every global object has a compartment associated with it, and no compartment is associated with more than one global object. (NB: There are compartments associated with no global object, but they aren't very interesting). When JS code is running SpiderMonkey has a concept of a "current" compartment. New objects that are created will be created in the "current" compartment and associated with the global object of that compartment.
* When objects in one compartment can see objects in another compartment (via e.g. iframe.contentWindow.foo) '''cross-compartment wrappers''' or '''CCWs''' mediate the interaction between the two compartments. By default CCWs ensure that the current compartment is kept up-to-date when execution crosses a compartment boundary. SpiderMonkey also allows embeddings to extend wrappers with custom behavior to implement security policies, which Gecko uses extensively (see the Security section for more information).
 
Further documentation:
* Talk: [https://air.mozilla.org/kannan-vijayan-baseline-jit/ Baseline JIT] (Kannan Vijayan, 2014-10-14)
=== XPConnect ===
Canmove, confirm, emeritus
1,334
edits

Navigation menu