Skip to content

Commit 649952e

Browse files
committed
Revert "[concurrency] Convert ActorIsolation::isConcurrentUnsafe -> isUnsafe."
This reverts commit 95623c6.
1 parent 791d07d commit 649952e

File tree

2 files changed

+18
-14
lines changed

2 files changed

+18
-14
lines changed

include/swift/AST/ActorIsolation.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,10 +203,14 @@ class ActorIsolation {
203203
return (kind == Concurrent) || (kind == ConcurrentUnsafe);
204204
}
205205

206+
bool isConcurrentUnsafe() const { return kind == ConcurrentUnsafe; }
207+
206208
bool isNonisolated() const {
207209
return (kind == Nonisolated) || (kind == NonisolatedUnsafe);
208210
}
209211

212+
bool isNonisolatedUnsafe() const { return kind == NonisolatedUnsafe; }
213+
210214
bool isUnsafe() const {
211215
return kind == NonisolatedUnsafe || kind == ConcurrentUnsafe;
212216
}

lib/SILOptimizer/Utils/SILIsolationInfo.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ class DeclRefExprAnalysis {
9696
if (auto *mri = dyn_cast<MemberRefExpr>(expr)) {
9797
if (mri->hasDecl()) {
9898
auto isolation = swift::getActorIsolation(mri->getDecl().getDecl());
99-
if (isolation.isUnsafe())
99+
if (isolation.isConcurrentUnsafe())
100100
return true;
101101
}
102102
}
@@ -485,16 +485,16 @@ SILIsolationInfo SILIsolationInfo::get(SILInstruction *inst) {
485485
if (nomDecl->isAnyActor())
486486
return SILIsolationInfo::getActorInstanceIsolated(rei, rei->getOperand(),
487487
nomDecl)
488-
.withUnsafeNonIsolated(varIsolation.isUnsafe());
488+
.withUnsafeNonIsolated(varIsolation.isConcurrentUnsafe());
489489

490490
if (auto isolation = swift::getActorIsolation(nomDecl)) {
491491
assert(isolation.isGlobalActor());
492492
return SILIsolationInfo::getGlobalActorIsolated(
493493
rei, isolation.getGlobalActor())
494-
.withUnsafeNonIsolated(varIsolation.isUnsafe());
494+
.withUnsafeNonIsolated(varIsolation.isConcurrentUnsafe());
495495
}
496496

497-
return SILIsolationInfo::getDisconnected(varIsolation.isUnsafe());
497+
return SILIsolationInfo::getDisconnected(varIsolation.isConcurrentUnsafe());
498498
}
499499

500500
// Check if we have a global_addr inst.
@@ -507,7 +507,7 @@ SILIsolationInfo SILIsolationInfo::get(SILInstruction *inst) {
507507
ga, isolation.getGlobalActor());
508508
}
509509

510-
if (isolation.isUnsafe()) {
510+
if (isolation.isConcurrentUnsafe()) {
511511
return SILIsolationInfo::getDisconnected(
512512
true /*is nonisolated(unsafe)*/);
513513
}
@@ -544,7 +544,7 @@ SILIsolationInfo SILIsolationInfo::get(SILInstruction *inst) {
544544
}
545545

546546
// Then check if we have something that is nonisolated unsafe.
547-
if (isolation.isUnsafe()) {
547+
if (isolation.isConcurrentUnsafe()) {
548548
// First check if our function_ref is a method of a global actor
549549
// isolated type. In such a case, we create a global actor isolated
550550
// nonisolated(unsafe) so that if we assign the value to another
@@ -623,7 +623,7 @@ SILIsolationInfo SILIsolationInfo::get(SILInstruction *inst) {
623623
// Check if we have a global actor and handle it appropriately.
624624
if (isolation.getKind() == ActorIsolation::GlobalActor) {
625625
bool localNonIsolatedUnsafe =
626-
isNonIsolatedUnsafe | isolation.isUnsafe();
626+
isNonIsolatedUnsafe | isolation.isConcurrentUnsafe();
627627
return SILIsolationInfo::getGlobalActorIsolated(
628628
cmi, isolation.getGlobalActor())
629629
.withUnsafeNonIsolated(localNonIsolatedUnsafe);
@@ -633,7 +633,7 @@ SILIsolationInfo SILIsolationInfo::get(SILInstruction *inst) {
633633
if (isolation.getKind() != ActorIsolation::ActorInstance &&
634634
isolation.isActorInstanceForSelfParameter()) {
635635
bool localNonIsolatedUnsafe =
636-
isNonIsolatedUnsafe | isolation.isUnsafe();
636+
isNonIsolatedUnsafe | isolation.isConcurrentUnsafe();
637637
return SILIsolationInfo::getActorInstanceIsolated(
638638
cmi, cmi->getOperand(),
639639
cmi->getOperand()
@@ -650,7 +650,7 @@ SILIsolationInfo SILIsolationInfo::get(SILInstruction *inst) {
650650
// Check if we have a global actor and handle it appropriately.
651651
if (isolation.getKind() == ActorIsolation::GlobalActor) {
652652
bool localNonIsolatedUnsafe =
653-
isNonIsolatedUnsafe | isolation.isUnsafe();
653+
isNonIsolatedUnsafe | isolation.isConcurrentUnsafe();
654654
return SILIsolationInfo::getGlobalActorIsolated(
655655
cmi, isolation.getGlobalActor())
656656
.withUnsafeNonIsolated(localNonIsolatedUnsafe);
@@ -660,7 +660,7 @@ SILIsolationInfo SILIsolationInfo::get(SILInstruction *inst) {
660660
if (isolation.getKind() != ActorIsolation::ActorInstance &&
661661
isolation.isActorInstanceForSelfParameter()) {
662662
bool localNonIsolatedUnsafe =
663-
isNonIsolatedUnsafe | isolation.isUnsafe();
663+
isNonIsolatedUnsafe | isolation.isConcurrentUnsafe();
664664
return SILIsolationInfo::getActorInstanceIsolated(
665665
cmi, cmi->getOperand(),
666666
cmi->getOperand()
@@ -683,16 +683,16 @@ SILIsolationInfo SILIsolationInfo::get(SILInstruction *inst) {
683683
auto varIsolation = swift::getActorIsolation(sei->getField());
684684
if (auto isolation =
685685
SILIsolationInfo::getGlobalActorIsolated(sei, sei->getStructDecl()))
686-
return isolation.withUnsafeNonIsolated(varIsolation.isUnsafe());
687-
return SILIsolationInfo::getDisconnected(varIsolation.isUnsafe());
686+
return isolation.withUnsafeNonIsolated(varIsolation.isConcurrentUnsafe());
687+
return SILIsolationInfo::getDisconnected(varIsolation.isConcurrentUnsafe());
688688
}
689689

690690
if (auto *seai = dyn_cast<StructElementAddrInst>(inst)) {
691691
auto varIsolation = swift::getActorIsolation(seai->getField());
692692
if (auto isolation = SILIsolationInfo::getGlobalActorIsolated(
693693
seai, seai->getStructDecl()))
694-
return isolation.withUnsafeNonIsolated(varIsolation.isUnsafe());
695-
return SILIsolationInfo::getDisconnected(varIsolation.isUnsafe());
694+
return isolation.withUnsafeNonIsolated(varIsolation.isConcurrentUnsafe());
695+
return SILIsolationInfo::getDisconnected(varIsolation.isConcurrentUnsafe());
696696
}
697697

698698
// See if we have an unchecked_enum_data from a global actor isolated type.

0 commit comments

Comments
 (0)