[Distributed] deinit aware of remote "properties" (lack thereof in storage) #38870
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Class deinit, iff the class is a distributed actor must become aware that not all properties actually "really exist".
Only @_distributedActorIndependent properties are actually stored and may be released.
The other properties have never been initialized, and thus we must not destroy them.
A distributed deinit must:
resignIdentity(self)
we already do this earlier in SILGenDestructor, by callingemitDistributedActor_resignAddress(dd, selfValue, continueBB);
SILGenDistributed
and does not make the SILGenDestructor so ugly.Review and hints how to better do this SIL very welcome! The good news is that non-distributed actors are of course not impacted by any change here.