-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[Distributed] Undo new record and mangling scheme for dist.p.witnesses #71801
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Distributed] Undo new record and mangling scheme for dist.p.witnesses #71801
Conversation
fe4eb76
to
0d80c8b
Compare
@swift-ci please test |
@@ -390,6 +390,7 @@ bool swift::checkDistributedSerializationRequirementIsExactlyCodable( | |||
std::count(protocols.begin(), protocols.end(), decodable) == 1; | |||
} | |||
|
|||
// TODO(distributed): probably can be removed? | |||
llvm::ArrayRef<ValueDecl *> | |||
AbstractFunctionDecl::getDistributedMethodWitnessedProtocolRequirements() const { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not 100% sure yet so I kept it around for now
@@ -359,7 +355,6 @@ extern uintptr_t __COMPATIBILITY_LIBRARIES_CANNOT_CHECK_THE_IS_SWIFT_BIT_DIRECTL | |||
#define __ptrauth_swift_escalation_notification_function | |||
#define __ptrauth_swift_dispatch_invoke_function | |||
#define __ptrauth_swift_accessible_function_record | |||
#define __ptrauth_swift_accessible_protocol_requirement_function_record |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we're removing the entire new section kind; this is safe since no release is using this yet.
This change undoes an approach we thought viable to encode distributed actor remote targets, as encoding their protocol method names. This also needed extra metadata sections and tricky "find if this is a witness or not" methods; Instead, we will be mangling the concrete names; and special handle proxy types that are prefixed with `$`. This way we will not need extra metadata records, and can handle generic calls more properly. This XFAILs one test which was testing new functionality, that is pending now until we implement the new mangling scheme.
5383b7e
to
44b1227
Compare
@swift-ci please test |
Merging as we'll build the new mangling scheme anew from clean slate. |
Thanks for review Mike! |
This change undoes an approach we thought viable to encode distributed
actor remote targets, as encoding their protocol method names. This also
needed extra metadata sections and tricky "find if this is a witness or
not" methods;
Instead, we will be mangling the concrete names; and special handle
proxy types that are prefixed with
$
. This way we will not need extrametadata records, and can handle generic calls more properly.
This XFAILs one test which was testing new functionality, that is
pending now until we implement the new mangling scheme.