• loislo's avatar
    CPUProfiler: Push deopt reason further to ProfileNode. · d23ab23b
    loislo authored
    1) create beefy RelocInfo table when cpu profiler is active, so if a function
    was optimized when profiler was active RelocInfo would get separate DeoptInfo
    for the each deopt case.
    
    2) push DeoptInfo from CodeEntry to ProfileNode.
    When deopt happens we put the info collected on #1 into CodeEntry and record stack sample.
    On the sampling thread we grab the deopt data and append it to the corresponding ProfileNode deopts list.
    
    Sample profile dump.
    [Top down]:
        0  (root) 0 #1
        1     29 #2
        1      test 29 #3
        2        opt_function 29 #4
        2          opt_function 29 #5
                       deopted at 118 with reason 'not a heap number'
                       deopted at 137 with reason 'division by zero'
    
    BUG=452067
    LOG=n
    
    Committed: https://crrev.com/ce8701b247d3c6604f24f17a90c02d17b4417f54
    Cr-Commit-Position: refs/heads/master@{#26615}
    
    Review URL: https://codereview.chromium.org/919953002
    
    Cr-Commit-Position: refs/heads/master@{#26630}
    d23ab23b
test-cpu-profiler.cc 58.3 KB