-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Update the metadata-initialization ABI #13570
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
Conversation
@swift-ci Please test. |
Build failed |
1d68218
to
2681a6d
Compare
@swift-ci Please test. |
1 similar comment
@swift-ci Please test. |
Build failed |
Build failed |
2681a6d
to
d0249ce
Compare
Missed the fact that the micro-stdlib provided a stub for initEnumValueWitnessTable. |
@swift-ci Please test. |
1 similar comment
@swift-ci Please test. |
Build failed |
- Create the value witness table as a separate global object instead of concatenating it to the metadata pattern. - Always pass the metadata to the runtime and let the runtime handle instantiating or modifying the value witness table. - Pass the right layout algorithm version to the runtime; currently this is always "Swift 5". - Create a runtime function to instantiate single-case enums. Among other things, this makes the copying of the VWT, and any modifications of it, explicit and in the runtime, which is more future-proof.
d0249ce
to
9bbbe2c
Compare
@swift-ci Please smoke test and merge. |
1 similar comment
@swift-ci Please smoke test and merge. |
Update the metadata-initialization ABI:
Create the value witness table as a separate global object instead of concatenating it to the metadata pattern.
Always pass the metadata to the runtime and let the runtime handle instantiating or modifying the value witness table.
Pass the right layout algorithm version to the runtime; currently this is always "Swift 5".
Create a runtime function to instantiate single-case enums.
Among other things, this makes the copying of the VWT, and any modifications of it, explicit and in the runtime, which is more future-proof.