• Benedikt Meurer's avatar
    [inspector] Fix crash due to misuse of embedder fields. · 7e2f1108
    Benedikt Meurer authored
    The contract between V8 and Blink is that embedder fields belong to
    Blink, at least when the object has two or more of them. Now we had 2-3
    embedder fields used by the debug proxies and that was confusing Blink,
    since it expects the first slot to hold an aligned pointer in that case
    and we had a HeapObject reference stored there.
    
    This is a quickfix, which avoids internal fields completely for the
    context extension proxy (using interceptors on the prototype instead)
    and changes the named proxies to store the name table under a private
    symbol instead of using a second internal field.
    
    A proper but way more involved fix is to introduce a proper instance
    type here and use space in the header instead of misusing embedder
    fields.
    
    Fixed: chromium:1170283
    Bug: chromium:1159402
    Change-Id: I6c4bbe2fe88fef29a6b9946708588245efbbe72b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2649033
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72323}
    7e2f1108
Name
Last commit
Last update
.github 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...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.flake8 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...
COMMON_OWNERS Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS Loading commit data...
INTL_OWNERS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
MIPS_OWNERS Loading commit data...
OWNERS Loading commit data...
PPC_OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...