rust/src/librustc_metadata
bors 3f8b93693d Auto merge of #42537 - michaelwoerister:tcx-for-dep-node, r=nikomatsakis
incr.comp.: Make DepNode `Copy` and valid across compilation sessions

This PR moves `DepNode` to a representation that does not need retracing and thus simplifies comparing dep-graphs from different compilation sessions. The code also gets a lot simpler in many places, since we don't need the generic parameter on `DepNode` anymore.  See https://github.com/rust-lang/rust/issues/42294 for details.

~~NOTE: Only the last commit of this is new, the rest is already reviewed in https://github.com/rust-lang/rust/pull/42504.~~

This PR is almost done but there are some things I still want to do:
- [x] Add some module-level documentation to `dep_node.rs`, explaining especially what the `define_dep_nodes!()` macro is about.
- [x] Do another pass over the dep-graph loading logic. I suspect that we can get rid of building the `edges` map and also use arrays instead of hash maps in some places.

cc @rust-lang/compiler
r? @nikomatsakis
2017-06-12 11:39:35 +00:00
..
astencode.rs incr.comp.: Hash more pieces of crate metadata to detect changes there. 2017-05-08 12:31:26 +02:00
Cargo.toml Remove rustc_llvm dependency from rustc_metadata 2017-05-14 20:30:22 +02:00
creader.rs Allocate DefIndices for global crate metadata. 2017-06-07 12:11:40 +02:00
cstore.rs incr.comp.: Uniformly represent DepNodes as (Kind, StableHash) pairs. 2017-06-09 15:03:34 +02:00
cstore_impl.rs Auto merge of #42537 - michaelwoerister:tcx-for-dep-node, r=nikomatsakis 2017-06-12 11:39:35 +00:00
decoder.rs Auto merge of #42537 - michaelwoerister:tcx-for-dep-node, r=nikomatsakis 2017-06-12 11:39:35 +00:00
diagnostics.rs Update usages of 'OSX' (and other old names) to 'macOS'. 2017-03-12 14:59:04 -04:00
encoder.rs Allocate DefIndices for global crate metadata. 2017-06-07 12:11:40 +02:00
index.rs Try fixing bigendian metadata serialisation 2017-05-01 04:51:17 +03:00
index_builder.rs Allocate DefIndices for global crate metadata. 2017-06-07 12:11:40 +02:00
isolated_encoder.rs ICH: Make StableHashingContext work with any TyCtxt, not just the global one. 2017-06-06 13:50:13 +02:00
lib.rs Auto merge of #41911 - michaelwoerister:querify_trait_def, r=nikomatsakis 2017-05-17 21:44:08 +00:00
locator.rs Remove rustc_llvm dependency from rustc_metadata 2017-05-14 20:30:22 +02:00
schema.rs incr.comp.: Uniformly represent DepNodes as (Kind, StableHash) pairs. 2017-06-09 15:03:34 +02:00