• Clemens Hammacher's avatar
    Allow move semantics on Labels · eeb32224
    Clemens Hammacher authored
    The Label class currently allows to be copied on all platforms except
    for arm64, where it can not be copied or moved.
    This allows too much though:
    Copying a label even on another platform than arm64 might fail if the
    label was linked already, because only one of the copies will be bound
    later, and the other will fire a DCHECK error in its destructor.
    
    This CL changes the restriction to never allow to copy construct or
    assign a Label, but allow move construction and move assignment on all
    platforms except arm64.
    This will allow to place Labels in containers, as will be done in
    Liftoff (except for arm64, where it still needs to be allocated on the
    heap).
    
    R=mstarzinger@chromium.org
    
    Bug: v8:6600
    Change-Id: Ic1234c2d233317eed6a3d537c13faed2c701fe13
    Reviewed-on: https://chromium-review.googlesource.com/783190
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#49570}
    eeb32224
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 Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs 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...
Makefile Loading commit data...
Makefile.android 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...