LOG.debug("starting new script");
Context cx = Context.enter();
cx.putThreadLocal("process", this);
cx.setClassShutter(new ScriptusClassShutter());
globalScope.put("args", globalScope, Context.javaToJS(args, globalScope));
globalScope.put("owner", globalScope, Context.javaToJS(owner, globalScope));
try {
// running for first time
result = cx.callFunctionWithContinuations(compiled, globalScope, new Object[0]);
} finally {
Context.exit();
}
} else {
LOG.debug("continuing existing script " + getPid().toString().substring(30));
if (state instanceof ConvertsToScriptable) {
state = ((ConvertsToScriptable) state).toScriptable();
}
Context cx = Context.enter();
cx.setClassShutter(new ScriptusClassShutter());
cx.putThreadLocal("process", this);
try {
// if(state != null) {
// System.out.println("state class="+state.getClass());
// }