Skip to content

[lldb][swift] Use dynamic types as a fallback in AddVariableInfo #2031

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 1 commit into from
Oct 26, 2020

Conversation

Teemperor
Copy link

Since commit eaceb46 AddVariableInfo is
always using the dynamic type if requested. The dynamic types appear
to not always be usable and caused a few tests to fail(1), but as the swiftTest
decorator was always skipping all Swift tests since commit
2c911bc this wasn't discovered before landing.

This patch restores the old behaviour where possible by first trying the
non-dynamic type and falling back to the dynamic type in case the non-dynamic
type can't be fully realized.

(1) All the failures seem to be related to us reading corrupt data from memory
when using the dynamic type in the expression parser. The dynamic types itself
appear to be perfectly fine, so it's not clear why the new behaviour doesn't work.

Since commit eaceb46 AddVariableInfo is
always using the dynamic type if requested. The dynamic types appear
to not always be usable and caused a few tests to fail(1), but as the swiftTest
decorator was always skipping all Swift tests since commit
2c911bc this wasn't discovered before landing.

This patch restores the old behaviour where possible by first trying the
non-dynamic type and falling back to the dynamic type in case the non-dynamic
type can't be fully realized.

(1) All the failures seem to be related to us reading corrupt data from memory
when using the dynamic type in the expression parser. The dynamic types itself
appear to be perfectly fine, so it's not clear why the new behaviour doesn't work.
@Teemperor
Copy link
Author

@swift-ci test

Copy link

@adrian-prantl adrian-prantl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's fascinating. I need to dig deeper here to figure out why the dynamic type sometimes isn't useable.

@Teemperor Teemperor merged commit c872dd7 into swiftlang:swift/main Oct 26, 2020
swift-ci pushed a commit that referenced this pull request Dec 5, 2023
When all the large const offsets masked with the same value from bit-12 to bit-23.
Fold
  add     x8, x0, #2031, lsl #12
  add     x8, x8, #960
  ldr     x9, [x8, x8]
  ldr     x8, [x8, #2056]

into
  add     x8, x0, #2031, lsl #12
  ldr     x9, [x8, #960]
  ldr     x8, [x8, #3016]
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.

2 participants