• vitalyr@chromium.org's avatar
    Support profiling based on linux kernel performance events. · e6b33bd2
    vitalyr@chromium.org authored
    Since 2.6.31 perf_events interface has been available in the
    kernel. There's a nice tool called "perf" (linux-2.6/tools/perf) that
    uses this interface and provides capabilities similar to oprofile. The
    simplest form of its usage is just dumping the raw log (trace) of
    events generated by the kernel. In this patch I'm adding a script
    (tools/ll_prof.py) to build profiles based on perf trace and our code
    log. All the heavy-lifting is done by perf. Compared to oprofile agent
    this approach does not require recompilation and supports code moving
    garbage collections.
    
    Expected usage is documented in the ll_prof's help. Basically one
    should run V8 under perf passing --ll-prof flag and then the produced
    logs can be analyzed by tools/ll_prof.py.
    
    The new --ll-prof flag enables logging of generated code object
    locations and names (like --log-code), and also of their bodies, which
    can be later disassembled and annotated by the script.
    
    Review URL: http://codereview.chromium.org/3831002
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    e6b33bd2
platform-openbsd.cc 15.9 KB