(In reply to Kristen Wright :KrisWright from comment #1)
b. Refactor offthread tasks to work without JSContext while running in XPCOM threads
Rather than teaching XPCOM threads to hold onto a JSContext, we could just run tasks in XPCOM that work around it. I'm not completely sure to what extent some of the tasks use JSContext and if it is possible (such as IonBuilder using ionCompilingSafeForMinorGC, etc...) so it might require significant refactoring.
This option isn't feasible, mostly because off-thread parsing uses JSContexts extensively right now. This will likely change in the future and some of the work is already in progress, but it's going to take time :)