Skip to content

[Distributed] Correct tbd handling for distributed thunks #74935

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

Merged
merged 4 commits into from
Jul 26, 2024

Conversation

ktoso
Copy link
Contributor

@ktoso ktoso commented Jul 3, 2024

This avoids duplicate definitions and crashes when distributed thunks are used with protocols, and library evolution mode.

Still problems remain with pedantic tbd validation.

  • Resolves: rdar://128310903
  • Still needs work for: rdar://128284016 TAPI validation
  • Still needs work to address the new test, which fails now: :0: error: IR generation failure: program too clever: function collides with existing symbol $s4test15GreeterProtocolP5hello4nameS2S_tYaKFTj

Thanks @xedin for the help digging through this

@ktoso ktoso force-pushed the wip-distributed-tbd-fixes branch from 4c40c12 to 068bfa0 Compare July 23, 2024 06:38
@ktoso ktoso requested review from jckarter and rjmccall as code owners July 23, 2024 06:38
@ktoso
Copy link
Contributor Author

ktoso commented Jul 23, 2024

@swift-ci please smoke test

@ktoso
Copy link
Contributor Author

ktoso commented Jul 23, 2024

@swift-ci please smoke test Linux

@ktoso ktoso requested a review from xedin July 23, 2024 13:47
@ktoso
Copy link
Contributor Author

ktoso commented Jul 23, 2024

@swift-ci please smoke test Linux

@ktoso
Copy link
Contributor Author

ktoso commented Jul 24, 2024

@swift-ci please smoke test

@ktoso ktoso requested a review from DougGregor July 24, 2024 04:24
ktoso added 2 commits July 25, 2024 09:12
This avoids duplicate definitions and crashes when distributed thunks
are used with protocols, and library evolution mode.

Still problems remain with pedantic tbd validation.

Resolves: edar://128310903
@ktoso ktoso force-pushed the wip-distributed-tbd-fixes branch from 2c865b6 to c7e6f4a Compare July 25, 2024 05:33
@ktoso
Copy link
Contributor Author

ktoso commented Jul 25, 2024

@swift-ci please smoke test

@ktoso ktoso force-pushed the wip-distributed-tbd-fixes branch from c7e6f4a to 0867b9a Compare July 25, 2024 07:46
@ktoso
Copy link
Contributor Author

ktoso commented Jul 25, 2024

@swift-ci please smoke test

@ktoso ktoso force-pushed the wip-distributed-tbd-fixes branch from 0867b9a to 9644e5c Compare July 26, 2024 02:04
@ktoso ktoso force-pushed the wip-distributed-tbd-fixes branch from 9644e5c to 43a17f5 Compare July 26, 2024 02:38
@ktoso
Copy link
Contributor Author

ktoso commented Jul 26, 2024

@swift-ci please smoke test

@ktoso
Copy link
Contributor Author

ktoso commented Jul 26, 2024

Ok additional testing seems to confirm we're good across resilient libraries here, going to merge and verify some more.

@ktoso ktoso merged commit eb675c2 into swiftlang:main Jul 26, 2024
3 checks passed
@ktoso ktoso deleted the wip-distributed-tbd-fixes branch July 26, 2024 07:52
ktoso added a commit to ktoso/swift that referenced this pull request Apr 18, 2025
…ust work

This corrects how we were dealing with dispatch thunks -- mostly be
removing a lot of special casing we did but doesn't seem necessary and
instead we correct and emit all the necessary information int TBD, which
resolves swiftlang#74935 or rather rdar://128310903
as well as rdar://128284016 but more correctly.

regression test for rdar://145292018

resolves rdar://145292018

Fixes HOW we resolve:
resolves rdar://128284016
resolves rdar://128310903
ktoso added a commit to ktoso/swift that referenced this pull request Apr 18, 2025
…ust work

This corrects how we were dealing with dispatch thunks -- mostly be
removing a lot of special casing we did but doesn't seem necessary and
instead we correct and emit all the necessary information int TBD.

This builds on  swiftlang#74935 by further refining how we fixed that issue, and adds more regression tests. It also removes a load of special casing of distributed thunks in library evolution mode, which is great.

Resolves and adds regression test for for rdar://145292018

This is also a more proper fix to the previously resolved but in a not-great-way which caused other issues:
- resolves rdar://128284016
- resolves rdar://128310903
ktoso added a commit to ktoso/swift that referenced this pull request Apr 21, 2025
…ust work

This corrects how we were dealing with dispatch thunks -- mostly be
removing a lot of special casing we did but doesn't seem necessary and
instead we correct and emit all the necessary information int TBD.

This builds on  swiftlang#74935 by further refining how we fixed that issue, and adds more regression tests. It also removes a load of special casing of distributed thunks in library evolution mode, which is great.

Resolves and adds regression test for for rdar://145292018

This is also a more proper fix to the previously resolved but in a not-great-way which caused other issues:
- resolves rdar://128284016
- resolves rdar://128310903

Review followup, cleanup test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant