• 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
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
include Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...