Add support for inferred function names
https://bugs.webkit.org/show_bug.cgi?id=77579
Reviewed by Gavin Barraclough.
Source/JavaScriptCore:
Add new "inferred" names to function expressions, getters, and setters.
This property is not exposed to JS, so is only visible in the debugger
and profiler.
(JSC::BytecodeGenerator::makeFunction):
- debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::calculatedFunctionName):
(JSC::ASTBuilder::createAssignResolve):
(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createProperty):
(JSC::ASTBuilder::makeAssignNode):
(JSC::FunctionBodyNode::setInferredName):
(JSC::FunctionBodyNode::inferredName):
(FunctionBodyNode):
(JSC):
(JSC::Profiler::createCallIdentifier):
(JSC::createCallIdentifierFromFunctionImp):
(JSC::FunctionExecutable::FunctionExecutable):
(JSC::FunctionExecutable::fromGlobalCode):
(JSC::FunctionExecutable::create):
(JSC::FunctionExecutable::inferredName):
(FunctionExecutable):
(JSC::JSFunction::calculatedDisplayName):
(JSC):
(JSC::getCalculatedDisplayName):
(JSC):
LayoutTests:
Update test case results.
- fast/profiler/anonymous-event-handler-expected.txt:
- fast/profiler/anonymous-function-called-from-different-contexts-expected.txt:
- fast/profiler/anonymous-function-calls-built-in-functions-expected.txt:
- fast/profiler/anonymous-function-calls-eval-expected.txt:
- fast/profiler/built-in-function-calls-anonymous-expected.txt:
- fast/profiler/inline-event-handler-expected.txt:
- fast/profiler/many-calls-in-the-same-scope-expected.txt:
- fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt:
- fast/profiler/multiple-and-different-scoped-function-calls-expected.txt:
- fast/profiler/multiple-anonymous-functions-called-from-the-same-function-expected.txt:
- fast/profiler/nested-anonymous-functon-expected.txt:
- fast/profiler/start-and-stop-profiler-multiple-times-expected.txt: