• jgruber's avatar
    [builtins,x64] More information about root-relative accesses · 1bef7d21
    jgruber authored
    When disassembling code (in particular embedded builtins), try to
    print better information about root-relative accesses. For example:
    
     REX.W movq rdx,[r13+0x548]
     REX.W movq rax,[r13+0x10a8]
    
    turns into
    
     REX.W movq rdx,[r13+0x548] (root (0x1ff420d0ccd9 <FixedArray[1672]>))
     REX.W movq rax,[r13+0x10a8] (external reference (check_object_type))
    
    This is a band-aid solution until we come up with something better. It
    does not understand multi-instruction sequences (such as loads from
    the builtins constants table), assumes every kRootRegister-relative
    access is actually root-relative (i.e. the register is not initialized
    to some other value), and is limited to a particular instruction
    pattern.
    
    Bug: v8:6666,v8:7969
    Change-Id: I35af92e8233c9bb0f2ad6ba0e86bd0ab69177205
    Reviewed-on: https://chromium-review.googlesource.com/1146806
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54777}
    1bef7d21
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps 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...
.gitattributes 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...