• fpizlo@apple.com's avatar
    Rationalize closure call heuristics and profiling · 806b5821
    fpizlo@apple.com authored
    Reviewed by Oliver Hunt.
    Did a number of things:
    - CallLinkInfo now remembers if it was ever a closure call, and CallLinkStatus uses
      this. Reduces the likelihood that we will inline a closure call as if it was a
      normal call.
    - Made InlineCallFrame print inferred function names, and refactored
      CodeBlock::inferredName() to better use FunctionExecutable's API.
    - Made bytecode dumping print frequent exit sites that led to recompilation.
    - Made bytecode dumping for op_call and op_construct print what the CallLinkStatus
    * bytecode/CallLinkInfo.h:
    * bytecode/CallLinkStatus.cpp:
    * bytecode/CodeBlock.cpp:
    * bytecode/CodeOrigin.cpp:
    * bytecode/CodeOrigin.h:
    * bytecode/DFGExitProfile.cpp:
    * bytecode/DFGExitProfile.h:
    * jit/JITStubs.cpp:
    Reviewed by Oliver Hunt.
    Add a macro to add a method to a class that returns a dumper. Allows you to have
    secondary dump() methods for dumping either more or less information.
    * wtf/PrintStream.h:
    Reviewed by Oliver Hunt.
    Add ability to use display-profiler-output via a pipe, and add the ability to dump
    all generated code ('display *' or 'd *').
    * Scripts/display-profiler-output:
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139021 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CallLinkInfo.h 3.41 KB