+ return asString(getDirect(exec->vm(), exec->vm().propertyNames->name))->tryGetValue();
+}
+
+const String InternalFunction::displayName(ExecState* exec)
+{
+ JSValue displayName = getDirect(exec->vm(), exec->vm().propertyNames->displayName);
+
+ if (displayName && isJSString(displayName))
+ return asString(displayName)->tryGetValue();
+
+ return String();
+}
+
+CallType InternalFunction::getCallData(JSCell*, CallData&)
+{
+ RELEASE_ASSERT_NOT_REACHED();
+ return CallTypeNone;
+}
+
+const String InternalFunction::calculatedDisplayName(ExecState* exec)
+{
+ const String explicitName = displayName(exec);
+
+ if (!explicitName.isEmpty())
+ return explicitName;
+
+ return name(exec);