• Dominik Inführ's avatar
    Reland "[heap] Attach to shared isolate after setting up main thread" · 535242ff
    Dominik Inführ authored
    This is a reland of 929b83fb
    
    This version of the CL also fixes initialization of the
    marking_barrier_ in the LocalHeap constructor.
    
    This CL also got rebased on Victor's CL in https://crrev.com/c/3229361.
    It added a code_space_allocator_ in LocalHeap which needs to be
    initialized a bit later on the main thread as well.
    
    Original change's description:
    > [heap] Attach to shared isolate after setting up main thread
    >
    > Attach to the shared isolate after the main thread was set up. Otherwise
    > it could happen that a shared GC initiated from another isolate might
    > see no threads are running and performs the safepoint operation in the
    > middle of isolate deserialization.
    >
    > We use DisallowSafepoints to check that the isolate doesn't join a
    > global safepoint before deserialization is complete. DisallowSafepoints
    > used to prevent only invocations of Safepoint() but was updated to
    > also prevent Park() and Unpark() invocations. Each state change could
    > cause the thread to reach a safepoint, which would allow a shared GC
    > to run.
    >
    > We now also DCHECK that every isolate has at least one local heap and
    > that shared collections aren't started before deserialization is
    > complete.
    >
    > Bug: v8:11708
    > Change-Id: Iba3fb59dd951d5ee4fc9934158062287302fc279
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3221157
    > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    > Reviewed-by: Shu-yu Guo <syg@chromium.org>
    > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#77424}
    
    Bug: v8:11708
    Change-Id: I7d44e4a5f76cc09092c2444cede10e9331222c1d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3229361Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77448}
    535242ff
Name
Last commit
Last update
.github Loading commit data...
bazel 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...
.bazelrc 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...
.mailmap Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.bazel 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...
LOONG_OWNERS 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...
RISCV_OWNERS Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
WORKSPACE Loading commit data...
codereview.settings Loading commit data...