if (callData->argc < 1)
return Encode::undefined();
- ExecutionContext *parentContext = engine()->current;
- ExecutionEngine *engine = parentContext->engine;
+ ExecutionEngine *v4 = engine();
+ ExecutionContext *parentContext = v4->current;
+ ExecutionContextSaver ctxSaver(parentContext);
+
ExecutionContext *ctx = parentContext;
Scope scope(ctx);
if (!directCall) {
// the context for eval should be the global scope, so we fake a root
// context
- ctx = engine->pushGlobalContext();
+ ctx = v4->pushGlobalContext();
}
if (!callData->args[0].isString())
return e->call(callData);
}
- ExecutionContextSaver ctxSaver(parentContext);
ContextStateSaver stateSaver(ctx);
ExecutionContext::EvalCode evalCode;
ReturnedValue EvalFunction::call(Managed *that, CallData *callData)
{
// indirect call
- // ### const_cast
return static_cast<EvalFunction *>(that)->evalCall(callData, false);
}