Yes, ScriptObjectMirror keeps the underlying ScriptObject and Global
instance in whose scope that object was created. So long as a
ScriptObjectMirror is alive, the ScriptObject and associated Global
instance (and any transitive data) would be alive.
-Sundar
On Friday 31 October 2014 08:48 PM, Serguei Mourachov wrote:
I'm working on implementing automatic javascript code reloading.
The process is implemented using following sequence: when I'm seeing
any modification our our JS files, I'm preserving state of our system
calling a function returning ScriptObjectMirror, creating new
ScriptEngine, and initializing its state passing the
ScriptObjectMirror to it.
Apparently, it It works as expected in my simple tests, but it seems
that the initial ScriptObjectMirror keeps reference to its original
global and potentially to other old engine internals.
So my question is: is that safe in to share ScriptObjectMirror objects
between multiple engines and can I assume it's not going to create a
memory leak, keeping all the previous engines in memory after I
stopped using them?
SM