Estoy usando org.mozilla.javascript.Context.compileString() para compilar y almacenar en caché una fuente de Javascript. La instancia de InterpretedFunction devuelta parece inmutable, estoy exec() en múltiples ámbitos e hilos, y todo parece funcionar bien.
Sin embargo, compileString() necesita el contexto actual, que generalmente es local de subprocesos, y no pude encontrar ninguna información sobre si es seguro ejecutar InterpretedFunction en un contexto diferente al que se compiló.