Skip to content

[Runtime] Fix issues with dynamic layout string instantiation #67485

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 2 commits into from
Jul 24, 2023

Conversation

drexin
Copy link
Contributor

@drexin drexin commented Jul 24, 2023

Fixes two issues related to relative pointer resolution and offsets.

…lving relative pointers in layout strings

The tag was overwritten after resolve when a prior field caused a non-zero offset. This then caused the runtime to treat is a relative instead of an absolute pointer, causing invalid pointers to be dereferenced.
@drexin
Copy link
Contributor Author

drexin commented Jul 24, 2023

@swift-ci smoke test

…silientAccessors

The offset was off by 1, causing subsequent tags to not be resolved properly.
@drexin drexin changed the title [Runtime] Use the properly resolved tag when adding offset after reso… [Runtime] Fix issues with dynamic layout string instantiation Jul 24, 2023
@drexin
Copy link
Contributor Author

drexin commented Jul 24, 2023

@swift-ci smoke test

@drexin drexin merged commit f96b099 into swiftlang:main Jul 24, 2023
@drexin drexin deleted the wip-fix-offset-writing-resolve branch July 24, 2023 20:10
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