Reland "[compiler] Do MapRef::CanBeDeprecated and ::CanTransition concurrently"

This is a reland of abe4858b0a

Reason: It was speculatively reverted but it doesn't seem to have been
the culprit.

TBR=neis@chromium.org

Original change's description:
> [compiler] Do MapRef::CanBeDeprecated and ::CanTransition concurrently
>
> CanBeDeprecated looks at the DescriptorArray, and CanTransition at the
> instance_type. Both are safe to read concurrently and we just had to
> enable them with the macro.
>
> Bug: v8:7790
> Change-Id: Iafe6470f2d64a9ed38383cb9e4d00dd6f23d05d7
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2826539
> Reviewed-by: Georg Neis <neis@chromium.org>
> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73995}

Bug: v8:7790
Change-Id: I51d29d53b208fe9b6b27adc46561a4e1009e8d6f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2831488
Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74007}
This commit is contained in:
Santiago Aboy Solanes 2021-04-15 15:17:39 +01:00 committed by Commit Bot
parent eac97a970f
commit 52596006db

View File

@ -3838,13 +3838,13 @@ bool MapRef::is_stable() const {
}
bool MapRef::CanBeDeprecated() const {
IF_ACCESS_FROM_HEAP_C(CanBeDeprecated);
IF_ACCESS_FROM_HEAP_WITH_FLAG_C(CanBeDeprecated);
CHECK_GT(NumberOfOwnDescriptors(), 0);
return data()->AsMap()->can_be_deprecated();
}
bool MapRef::CanTransition() const {
IF_ACCESS_FROM_HEAP_C(CanTransition);
IF_ACCESS_FROM_HEAP_WITH_FLAG_C(CanTransition);
return data()->AsMap()->can_transition();
}