-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Isolated synchronous deinit #60057
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
ktoso
merged 57 commits into
swiftlang:main
from
nickolas-pohilets:mpokhylets/isolated-deinit
Sep 3, 2024
Merged
Isolated synchronous deinit #60057
Changes from all commits
Commits
Show all changes
57 commits
Select commit
Hold shift + click to select a range
b7e23c2
Runtime support for isolated deinit
nickolas-pohilets 698e5e6
Enabled isolated deinit in Sema
nickolas-pohilets b189495
Introduced isolated deinit as a SIL entity
nickolas-pohilets d4e449b
SILGen for isolated deinit
nickolas-pohilets 10ee948
Generating errors when isolation of the subclass deinit is not compat…
nickolas-pohilets 952d4af
Added more tests. Implemented logic for inferring actor isolation for…
nickolas-pohilets 8255539
Added checks for mangled names for isolated deinits
nickolas-pohilets a58f3fa
Updated SILGen for isolated deinit in @objc classes
nickolas-pohilets 856a509
Fixed a bug in computing isolation of @objc actors. Added tests for @…
nickolas-pohilets 63e538e
Import dealloc method as deinit
nickolas-pohilets 10b43d7
Disable string processing
nickolas-pohilets 95079af
Don't generate isolating destructor if dealloc was explicitly isolate…
nickolas-pohilets 411cdb7
Added unit-tests for (not)copying task-local values. Fixed release af…
nickolas-pohilets b13da72
Removed declaration of the AdHocJob from the ABI headers
nickolas-pohilets 62dbc6c
Fixed some tests. Using extract_executor SIL instruction instead of c…
nickolas-pohilets d7248e3
Fixed linkage logic for isolated deallocating deinit
nickolas-pohilets 28a06fe
Added isolated deallocator to TBDGen
nickolas-pohilets 72cad34
Don't hop to @MainActor if already running on the main thread.
nickolas-pohilets 485965a
Reviewed code comments. Fixed typos and addressed some TODOs
nickolas-pohilets 9005e9b
Removed some dead code
nickolas-pohilets b4a1aab
Updated Distributed/Runtime/distributed_actor_deinit.swift to check f…
nickolas-pohilets f04f1de
Fixed some typos
nickolas-pohilets cdba7b3
Removed explicit deinit from MainActor - not needed.
nickolas-pohilets c28df0d
Don't isolate deinit of remote actor proxies
nickolas-pohilets 5437b31
Expanded test for SIL for distributed actor deinit, added isolated cases
nickolas-pohilets 9dfa174
Don't add isolation attributes for deinit when they were inferred fro…
nickolas-pohilets a043ebf
Don't switch threads when running isolated deinit of the default actor.
nickolas-pohilets 35f0334
Rename performOnExecutor into deinitOnExecutor.
nickolas-pohilets 7505cd2
Updated unit tests
nickolas-pohilets f1e3002
Added more tests for isolated actor deinit:
nickolas-pohilets 9dcea15
Fixed tests on Linux, Windows and older MacOS versions
nickolas-pohilets 4d0b624
Make deinit non-isolated by default
nickolas-pohilets 40c7c6b
Allow accessing let properties in deinit isolated on different actor
nickolas-pohilets ab4d338
Added flags to be able to control task-locals behaviour in the future
nickolas-pohilets 2cb7e8d
Implemented suppressing isolated deinit for compatibility with older …
nickolas-pohilets 1b69068
Keep current task executor when taking fast path in isolated deinit
nickolas-pohilets 8dbddec
Don't read current task executor to avoid extra access of the task-lo…
nickolas-pohilets 6b0ce0b
Added emitting precondition check in the isolated deinit
nickolas-pohilets e9173ff
Make sure legacy executor checking mode is always used in swift_task_…
nickolas-pohilets 816d62c
Merge remote-tracking branch 'upstream/main' into mpokhylets/isolated…
nickolas-pohilets 1304f81
Fixed CI builds
nickolas-pohilets da75f5f
Temporary disabled test failing on Linux
nickolas-pohilets 1120bee
Reject isolation attributes on deinit in value types
nickolas-pohilets 6243dfa
Using REQUIRES: swift_stdlib_asserts as a cleaner way to disable acto…
nickolas-pohilets 6151731
Updated implementation to handle SWIFT_CONCURRENCY_ACTORS_AS_LOCKS
nickolas-pohilets 66871b9
Deterministically crash in DefaultActorImpl::destroy() when self esca…
nickolas-pohilets 50b1313
Merge branch 'main' into mpokhylets/isolated-deinit
nickolas-pohilets 0412597
Added swift_retainCount to EmbeddedRuntime.swift
nickolas-pohilets 9a0df5b
Don't add swift_retainCount() to RuntimeFunctions.def, but explicitly…
nickolas-pohilets 6fa62f7
Revert allowing @preconcurrency on deinit declarations
nickolas-pohilets a7ac32f
Disabled isolated deinit for SWIFT_CONCURRENCY_ACTORS_AS_LOCKS in the…
nickolas-pohilets d6673c7
Implemented zombie actor state in SWIFT_CONCURRENCY_ACTORS_AS_LOCKS m…
nickolas-pohilets e0ad7bd
Merge branch 'main' into mpokhylets/isolated-deinit
nickolas-pohilets c55ad6f
Merge branch 'main' into mpokhylets/isolated-deinit
ktoso 05b78ff
Merge branch 'main' into mpokhylets/isolated-deinit
nickolas-pohilets 6d26514
Fixed test/SourceKit/InterfaceGen/gen_swift_module.swift
nickolas-pohilets 56fca2a
Fixed test/Distributed/Runtime/distributed_actor_deinit.swift in opti…
nickolas-pohilets File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.