• Peter Marshall's avatar
    [cpu-profiler] Fix incorrect line number calculation. · ddb2856f
    Peter Marshall authored
    Previously when we put offsets into the SourcePositionTable, we added
    the header size of the code object as well. When we pull the positions
    out of the table (see ProfileGenerator::RecordTickSample) we already
    account for the header size. This means the offsets in the table should
    just be the offset of the PC within the actual code, not the offset
    within the code object, which is what we currently store.
    
    Currently this bug is probably not very noticeable, as it causes the
    reported line numbers to be slightly too low, but still within the same
    function. For a sampling profiler, we don't have any way to confirm
    which lines were actually sampled, so we don't notice that the results
    are wrong. The only way to see this bug is that there are some lines
    within a function (towards the end of the function) that we will never
    see ticks inside of, because the offset in the position table is not
    reachable with valid PC offsets.
    
    This CL removes the header size offset from values put into the source
    position table stored by the profiler.
    
    Bug: v8:7018
    Change-Id: I00b17cec5f9c81d993d4e64c3c021052745a791e
    Reviewed-on: https://chromium-review.googlesource.com/1016560Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Commit-Queue: Peter Marshall <petermarshall@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#52671}
    ddb2856f
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind 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...
snapshot_toolchain.gni Loading commit data...