-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Support for copy-on-write existentials - IRGen Support #8005
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
Support for copy-on-write existentials - IRGen Support #8005
Conversation
@swift-ci Please clean test |
🎉 |
Build failed |
2592a6a
to
36ae499
Compare
@swift-ci Please clean test |
Build failed |
Build failed |
Make sure that all uses of "immutable_access" instructions are not mutating the opened value. Only enable verification if we have COW existentials enabled.
…ial_addr, open_existential_addr, copy_addr, destory_addr For the boxed existential variant.
36ae499
to
85b126d
Compare
@swift-ci Please smoke test |
@swift-ci Please clean test |
Build failed |
Build failed |
This adds non-witness implementation of copy-on-write opaque existentials to IRGen.
Missing is the runtime support.
All this is hidden behind the CMake flag 'SWIFT_RUNTIME_ENABLE_COW_EXISTENTIALS' and the compiler frontend flag '-enable-cow-existentials'.