-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Prerequisites from dep graph refactoring #2 #61923
Conversation
r? @pnkfelix (rust_highfive has picked a reviewer for you, use r? to override) |
c55e1af
to
81f89ad
Compare
cc @RalfJung |
The job 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 |
81f89ad
to
6c21ae2
Compare
@Centril anything specific you want me to look at? I am mostly unfamiliar with the code this is touching. |
@RalfJung Pinged you for the |
Ah. :) Well besides the problem around comparing
|
src/librustc_data_structures/sync.rs
Outdated
old | ||
} | ||
} | ||
|
||
#[derive(Debug)] | ||
pub struct Atomic<T: Copy>(Cell<T>); |
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.
What is the difference between Atomic
and AtomicCell
? Neither of these types is described in the comment at the top of the file.
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.
Oh I see, Atomic
is just used here to define "fake" versions of AtomicBool
and friends. Seems worth a comment that this is not actually public even though it is marked pub
.
(It is not public in the sense that using it directly would lead to build failures in parallel rustc, if I understand correctly.)
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 still is no such comment that I can see.)
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.
Added some comments here.
[WIP] Make dep node indices persistent between sessions This makes marking dep nodes green faster (and lock free in the case with no diagnostics). This change is split out from #60035. Unlike #60035 this makes loading the dep graph slower because it loads 2 copies of the dep graph, one immutable and one mutable. Based on #61845, #61779 and #61923.
@bors try |
🔒 Merge conflict This pull request and the master branch diverged in a way that cannot be automatically merged. Please rebase on top of the latest master branch, and let the reviewer approve again. How do I rebase?Assuming
You may also read Git Rebasing to Resolve Conflicts by Drew Blessing for a short tutorial. Please avoid the "Resolve conflicts" button on GitHub. It uses Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how Error message
|
6c21ae2
to
b76f9fe
Compare
@bors try |
⌛ Trying commit b76f9fe06f7e0d66f5df48b92d5fbc84e09c01b8 with merge 739ec977abef6de9ed58fcc2e0cc822138c7ceab... |
💔 Test failed - checks-travis |
Your PR failed on Travis (raw log). 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 |
Clean up inherent_impls Split out from rust-lang#61923. r? @eddyb
Clean up inherent_impls Split out from rust-lang#61923. r? @eddyb
Clean up inherent_impls Split out from rust-lang#61923. r? @eddyb
Clean up inherent_impls Split out from rust-lang#61923. r? @eddyb
Clean up inherent_impls Split out from rust-lang#61923. r? @eddyb
@@ -1037,19 +1056,19 @@ impl CurrentDepGraph { | |||
fingerprint: Fingerprint | |||
) -> DepNodeIndex { | |||
debug_assert!(!self.node_to_node_index.contains_key(&dep_node)); | |||
self.intern_node(dep_node, edges, fingerprint).0 | |||
self.intern_node(dep_node, edges, fingerprint) | |||
} | |||
|
|||
fn intern_node( |
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.
can you add a comment above the fn intern_node
signature, indicating what the bool
in the return type represents?
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.
The bool
is removed, so no =P
This PR seems reasonable to me. r=me once my nits and question from review are addressed. |
dd4fa40
to
af339b1
Compare
@bors r=pnkfelix |
📌 Commit af339b1d3bc7ccb0e76d70536a2fa2ceef11a5d7 has been approved by |
@bors r- |
af339b1
to
29e7bfd
Compare
@bors r=pnkfelix |
📌 Commit 29e7bfd has been approved by |
I moved the |
Prerequisites from dep graph refactoring rust-lang#2 Split out from rust-lang#60035 and overlaps with rust-lang#60559.
Rollup of 7 pull requests Successful merges: - #61665 (core: check for pointer equality when comparing Eq slices) - #61923 (Prerequisites from dep graph refactoring #2) - #62270 (Move async-await tests from run-pass to ui) - #62425 (filedesc: don't use ioctl(FIOCLEX) on Linux) - #62476 (Continue refactoring macro expansion and resolution) - #62519 (Regression test for HRTB bug (issue 30786).) - #62557 (Fix typo in libcore/intrinsics.rs) Failed merges: r? @ghost
Add an AtomicCell abstraction Split out from rust-lang#61923.
Split out from #60035 and overlaps with #60559.