JSCell* DFG_OPERATION operationNewFunctionExpression(ExecState* exec, JSCell* functionExecutableAsCell) { ASSERT(functionExecutableAsCell->inherits(&FunctionExecutable::s_info)); FunctionExecutable* functionExecutable = static_cast<FunctionExecutable*>(functionExecutableAsCell); JSFunction *function = functionExecutable->make(exec, exec->scopeChain()); if (!functionExecutable->name().isNull()) { JSStaticScopeObject* functionScopeObject = JSStaticScopeObject::create( exec, functionExecutable->name(), function, ReadOnly | DontDelete); function->setScope(exec->globalData(), function->scope()->push(functionScopeObject)); } return function; }