• bjaideep's avatar
    PPC/s390: Reland [heap] Avoid the use of cells to point from code to new-space objects. · 85cebe73
    bjaideep authored
    Port 5e058540
    
    Original commit message:
    
        The reason for reverting is: This breaks gc-stress bot:
        https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot
    
        Abortion of compaction could cause duplicate entries in the typed-old-to-new remembered set.
        These duplicates could cause a DCHECK to trigger which checks that slots recorded in the
        remembered set never point to to-space. This reland-CL allows duplicates in the remembered
        set by removing the DCHECK, and additionally clears entries in the remembered set if objects are moved.
    
        Original issue's description:
    
        Cells were needed originally because there was no typed remembered set to
        record direct pointers from code space to new space. A previous
        CL (https://codereview.chromium.org/2003553002/) already introduced
        the remembered set, this CL uses it.
    
        This CL
        * stores direct pointers in code objects, even if the target is in new space,
        * records the slot of the pointer in typed-old-to-new remembered set,
        * adds a list which stores weak code-to-new-space references,
        * adds a test to test-heap.cc for weak code-to-new-space references,
        * removes prints in tail-call-megatest.js
    
    R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
    
    BUG=
    LOG=N
    
    Review-Url: https://codereview.chromium.org/2108673003
    Cr-Commit-Position: refs/heads/master@{#37346}
    85cebe73
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles 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/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.gn 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...
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...
snapshot_toolchain.gni Loading commit data...