On Sunday, February 15, 2015 at 11:23:56 PM UTC+1, Boris Zbarsky wrote: > On 2/15/15 4:24 PM, obastemur wrote: > > ---> JS_ASSERT(!cx->compartment()); > > This is asserting that no one is using the context you're destroying, > no? If you destroy it. whenever the thing that's using it tries to > reset the compartment back to null will crash because the object is > dead, I'd think. > > -Boris
I see. The biggest problem here was; not having an option to GC under GC. Context A / Compartment A GC'ing, which results in JS_DestroyContext call to Context B. (Fails) I have a solution though; keeping the discarded inner contexts in a list. So I can destroy them after a GC cycle or after destroying the main context. Thanks for the answer. _______________________________________________ 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