Uh oh!
There was an error while loading. Please reload this page.
Even more thread-safety changes - #49558
Conversation
TimNN
commented
Apr 1, 2018
Your PR failed on Travis. Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
TimNN
commented
Apr 1, 2018
Your PR failed on Travis. Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
TimNN
commented
Apr 1, 2018
Your PR failed on Travis. Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
d873356 to
0b4571cCompareTimNN
commented
Apr 2, 2018
Your PR failed on Travis. Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
TimNN
commented
Apr 2, 2018
Your PR failed on Travis. Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
TimNN
commented
Apr 2, 2018
Your PR failed on Travis. Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
TimNN
commented
Apr 2, 2018
Your PR failed on Travis. Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
TimNN
commented
Apr 2, 2018
Your PR failed on Travis. Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
TimNN
commented
Apr 2, 2018
Your PR failed on Travis. Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
shepmaster
commented
Apr 7, 2018
Ping from triage, @michaelwoerister ! |
bors
commented
Apr 8, 2018
☔ The latest upstream changes (presumably #49714) made this pull request unmergeable. Please resolve the merge conflicts. |
There was a problem hiding this comment.
What's the PhantomData for?
There was a problem hiding this comment.
Once conceptually owns a T outside the lock once it is initialized. This ensures we get the right impl for Sync: impl<T: Sync> Sync for Once<T>
There was a problem hiding this comment.
Good catch! Could you add a comment explaining that?
There was a problem hiding this comment.
Plus maybe an example of how one could exploit Once<T> if the PhantomData was not there?
There was a problem hiding this comment.
What's the find_features parameter about?
There was a problem hiding this comment.
create_target_machine calls is_pie_binary which requires crate_types. However when we are discovering the target CPU features, crate_types is uninitialized. So we pass in find_features to let create_target_machine assume that we aren't looking at a pie binary.
There was a problem hiding this comment.
Ah, OK. Could you add a comment explaining that?
There was a problem hiding this comment.
Should this use insert_same()?
There was a problem hiding this comment.
The type inserted doesn't implement Eq, so it cannot use insert_same.
There was a problem hiding this comment.
For this one, implementing Eq should be easy. Let's do it.
There was a problem hiding this comment.
This might also be a candidate for insert_same().
There was a problem hiding this comment.
Same thing, the type inserted doesn't implement Eq, so it cannot use insert_same.
There was a problem hiding this comment.
Yeah, this one looks more complicated. Pity.
There was a problem hiding this comment.
Could you document this method, especially what the return value is.
There was a problem hiding this comment.
This method could use documentation too.
There was a problem hiding this comment.
init_locking and init_nonlocking should be documented to. I needed a while to see what these are about but the difference can be explained rather quickly.
michaelwoerister
commented
Apr 9, 2018
Looks great, thanks @Zoxc! |
michaelwoerister
commented
Apr 12, 2018
@bors r+ |
bors
commented
Apr 12, 2018
📌 Commit 006f9b2 has been approved by |
bors
commented
Apr 12, 2018
Even more thread-safety changes r? @michaelwoerister
bors
commented
Apr 12, 2018
☀️ Test successful - status-appveyor, status-travis |
Make SelectionCache and EvaluationCache thread-safe Split out from #49558 r? @nikomatsakis
The included measurements have varied over the years. At one point there were quite a few more, but rust-lang#49558 deleted a lot that were no longer used. Today there's just four, and it's a motley collection that doesn't seem particularly valuable. I think it has been well and truly subsumed by self-profiling, which collects way more data.
The included measurements have varied over the years. At one point there were quite a few more, but rust-lang#49558 deleted a lot that were no longer used. Today there's just four, and it's a motley collection that doesn't seem particularly valuable. I think it has been well and truly subsumed by self-profiling, which collects way more data.
…wiser Remove `-Zperf-stats`. The included measurements have varied over the years. At one point there were quite a few more, but rust-lang#49558 deleted a lot that were no longer used. Today there's just four, and it's a motley collection that doesn't seem particularly valuable. I think it has been well and truly subsumed by self-profiling, which collects way more data. r? `@wesleywiser`
r? @michaelwoerister