• Pierre Langlois's avatar
    [heap] Relax accessing markbits in ranges. · b152bb75
    Pierre Langlois authored
    When calling the `bitmap(chunk)` method of the various *MarkingState accessors
    we would receive a raw `Bitmap` pointer which does not tell you if accesses to
    markbits should be made atomically or not. As a result, we would default to
    doing atomic operation when in fact it may not be necessary.
    
    Here we're introducing a templated `ConcurrentBitmap` class that wraps
    operations done on the markbits and allows them to be made non-atomic.
    
    Additionaly, some of the `Bitmap` methods were only used to verify the heap and
    in the tests so they do not need atomic implementations. Using them in a
    concurrent context should now fail to link to make sure they're not mis-used in
    the future.
    
    Change-Id: Ifb55f8522c8bf0c87d65da9227864ee428d21bbd
    Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel
    Reviewed-on: https://chromium-review.googlesource.com/c/1482916Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
    Cr-Commit-Position: refs/heads/master@{#59836}
    b152bb75
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...
.clang-tidy 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...