• rmcilroy's avatar
    [Interpreter] Add support for cpu profiler logging. · cb29f9cd
    rmcilroy authored
    Adds support for cpu profiler logging to the interpreter. Modifies the
    the API to be passed AbstractCode objects instead of Code objects, and
    adds extra functions to AbstractCode which is required by log.cc and
    cpu-profiler.cc.
    
    The main change in sampler.cc is to determine if a stack frame is an
    interpreter stack frame, and if so, use the bytecode address as the pc
    for that frame. This allows sampling of bytecode functions. This
    requires adding support to SafeStackIterator to determine if a frame is
    interpreted, which we do by checking the PC against pre-stored addresses
    for the start and end of interpreter entry builtins.
    
    Also removes CodeDeleteEvents which are dead code and haven't
    been reported for some time.
    
    Still to do is tracking source positions which will be done in a
    followup CL.
    
    BUG=v8:4766
    LOG=N
    
    Review URL: https://codereview.chromium.org/1728593002
    
    Cr-Commit-Position: refs/heads/master@{#34321}
    cb29f9cd
test-profile-generator.cc 25.9 KB