-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Avoid mishandling retain_n of immortal objects where n >= 3 #30034
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
Avoid mishandling retain_n of immortal objects where n >= 3 #30034
Conversation
@swift-ci please test |
@swift-ci please smoke benchmark |
Build failed |
eaa51e4
to
a3c450f
Compare
@swift-ci please smoke benchmark |
@swift-ci please test |
Build failed |
stdlib/public/SwiftShims/RefCount.h
Outdated
// This exists for the benefits of the Refcounting.cpp tests. Do not use it | ||
// elsewhere. | ||
auto getBitsValue() | ||
-> decltype(refCounts.load(std::memory_order_relaxed).getBitsValue()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe decltype(auto)
will get you this behavior nowadays.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought that you needed C++14 for return type inference on a method.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm behind the times! Thanks.
Build failed |
Performance: -O
Code size: -OPerformance: -Osize
Code size: -OsizePerformance: -Onone
Code size: -swiftlibsHow to read the dataThe tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.If you see any unexpected regressions, you should consider fixing the Noise: Sometimes the performance results (not code size!) contain false Hardware Overview
|
a3c450f
to
d07b643
Compare
@swift-ci please test |
Build failed |
hm. Interesting… I wonder what I'm missing here. |
Build failed |
@swift-ci please test |
Build failed |
Build failed |
@swift-ci please test |
Build failed |
Build failed |
@swift-ci please test |
Build failed |
Build failed |
87a5448
to
765af86
Compare
@swift-ci please test |
Build failed |
Build failed |
@swift-ci please test |
Build failed |
Build failed |
@swift-ci please test |
Build failed |
Build failed |
@swift-ci please test |
@swift-ci please benchmark |
Build failed |
Build failed |
Build failed before running benchmark. |
@swift-ci please test |
@swift-ci please benchmark |
Build failed |
Build failed |
Performance: -O
Code size: -OPerformance: -Osize
Code size: -OsizePerformance: -Onone
Code size: -swiftlibsHow to read the dataThe tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.If you see any unexpected regressions, you should consider fixing the Noise: Sometimes the performance results (not code size!) contain false Hardware Overview
|
184fa01
to
78c693b
Compare
@swift-ci please smoke test and merge |
1 similar comment
@swift-ci please smoke test and merge |
@swift-ci please test and merge |
@swift-ci please test |
Build failed |
Build failed |
Fixes rdar://problem/59547400