-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Remove dead code around the Deadline Task Status record from the compatibility library #63652
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
Remove dead code around the Deadline Task Status record from the compatibility library #63652
Conversation
@swift-ci please test |
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.
Yay, deleting code!
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.
Yay, deleting code!
@@ -343,10 +343,6 @@ OVERRIDE_TASK_STATUS(task_escalate, JobPriority, | |||
swift::, (AsyncTask *task, JobPriority newPriority), | |||
(task, newPriority)) | |||
|
|||
OVERRIDE_TASK_STATUS(task_getNearestDeadline, NearestTaskDeadline, |
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.
I think this might need to stay in order to maintain the layout of the overrides struct.
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.
Ah cause we already have the override hook present even though it is not actually called/used anywhere?
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.
Exactly. We magick up a struct containing a function pointer field for each of these things, and we want that struct to have the same definition in the compatibility library and in the runtime it applies to.
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.
@rjmccall added really solid documentation on what we can and cannot do to the compatibility overrides here to avoid breaking the ABI; https://github.com/apple/swift/blob/main/stdlib/public/CompatibilityOverride/CompatibilityOverrideRuntime.def
compatibility library Radar-Id: rdar://problem/88093007
8a4663e
to
ee98c1c
Compare
@swift-ci please test |
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.
I'm slightly on the fence about changing CompatibilityOverrideConcurrency.def
. It shouldn't matter since we should never have to fix a function that wasn't used, but the change doesn't do anything. We would need a time-machine to remove it from the swift 5.5 and 5.6 runtimes, where it actually matters. Since the function is never used though, it's probably fine.
Removing TaskDeadline
and NearestTaskDeadline
is fine. Neither of those show up in the library and can be removed. There are no symbols associated with them.
I've run the tests on my macOS 10.15.6 box and it looks like the parts that matter are working.
@swift-ci please test Windows platform |
Since |
@swift-ci please test macOS platform |
Remove dead code around the Deadline Task Status record from the compatibility library
Radar-Id: rdar://problem/88093007