Skip to content
  • oliver@apple.com's avatar
    Add support for inferred function names · f7190bf1
    oliver@apple.com authored
    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.
    
    * JavaScriptCore.exp:
    * bytecompiler/BytecodeGenerator.h:
    (JSC::BytecodeGenerator::makeFunction):
    * debugger/DebuggerCallFrame.cpp:
    (JSC::DebuggerCallFrame::calculatedFunctionName):
    * parser/ASTBuilder.h:
    (JSC::ASTBuilder::createAssignResolve):
    (JSC::ASTBuilder::createGetterOrSetterProperty):
    (JSC::ASTBuilder::createProperty):
    (JSC::ASTBuilder::makeAssignNode):
    * parser/Nodes.h:
    (JSC::FunctionBodyNode::setInferredName):
    (JSC::FunctionBodyNode::inferredName):
    (FunctionBodyNode):
    * profiler/Profiler.cpp:
    (JSC):
    (JSC::Profiler::createCallIdentifier):
    (JSC::createCallIdentifierFromFunctionImp):
    * runtime/Executable.cpp:
    (JSC::FunctionExecutable::FunctionExecutable):
    (JSC::FunctionExecutable::fromGlobalCode):
    * runtime/Executable.h:
    (JSC::FunctionExecutable::create):
    (JSC::FunctionExecutable::inferredName):
    (FunctionExecutable):
    * runtime/JSFunction.cpp:
    (JSC::JSFunction::calculatedDisplayName):
    (JSC):
    (JSC::getCalculatedDisplayName):
    * runtime/JSFunction.h:
    (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:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    f7190bf1