about summary refs log tree commit diff
path: root/src/librustc/dep_graph/dep_tracking_map.rs
AgeCommit message (Collapse)AuthorLines
2019-09-25Remove unused DepTrackingMapMark Rousskov-87/+0
2019-07-04fix a dep_graph doc regarding type_of_itemljedrz-1/+1
2019-07-04rename hir::map::local_def_id to local_def_id_from_node_idljedrz-1/+1
2019-02-10rustc: doc commentsAlexander Regueiro-1/+1
2019-02-05move librustc to 2018Mark Mansi-1/+1
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-06Use a function to access the Hir map to be able to turn it into a query laterJohn Kåre Alsaker-1/+1
2018-10-19Prefer `Default::default` over `FxHash*::default` in struct constructorsOliver Scherer-1/+1
2018-10-19Deprecate the `FxHashMap()` and `FxHashSet()` constructor function hackOliver Scherer-1/+1
2018-01-01Fix docs for future pulldown migrationMalo Jaffré-1/+1
2017-07-12integrate anon dep nodes into trait selectionNiko Matsakis-31/+9
2017-07-05use field init shorthand in src/librustcZack M. Davis-1/+1
The field init shorthand syntax was stabilized in 1.17.0 (aebd94f); we are now free to use it in the compiler.
2017-06-09incr.comp.: Uniformly represent DepNodes as (Kind, StableHash) pairs.Michael Woerister-22/+11
2017-05-29Remove DepGraph::write() and its callers.Michael Woerister-19/+0
2017-03-23convert inherent-impl-related things to on-demand queriesNiko Matsakis-15/+0
There are now 3 queries: - inherent_impls(def-id): for a given type, get a `Rc<Vec<DefId>>` with all its inherent impls. This internally uses `crate_inherent_impls`, doing some hacks to keep the current deps (which, btw, are not clearly correct). - crate_inherent_impls(crate): gathers up a map from types to `Rc<Vec<DefId>>`, touching the entire krate, possibly generating errors. - crate_inherent_impls_overlap_check(crate): performs overlap checks between the inherent impls for a given type, generating errors.
2017-03-13some style fixesTshepang Lekhonkhobe-1/+1
2017-02-25rustc: allow handling cycle errors gracefully in on-demand.Eduard-Mihai Burtescu-0/+6
2017-02-03go back to the older model of coherence collectNiko Matsakis-0/+15
2017-02-02prevent multiple writes to a single entry in a `DepTrackingMap`Niko Matsakis-2/+2
2017-02-02remove some of the ways to mutate a `DepTrackingMap`Niko Matsakis-19/+3
It is pretty suspect to insert an entry twice.
2017-01-26rustc: rename TyCtxt's `map` field to `hir`.Eduard-Mihai Burtescu-1/+1
2016-11-10rustc: clean up lookup_item_type and remove TypeScheme.Eduard Burtescu-4/+4
2016-11-08Replace FnvHasher use with FxHasher.Nicholas Nethercote-3/+3
This speeds up compilation by 3--6% across most of rustc-benchmarks.
2016-09-06write to inherent_impls during the visitorNiko Matsakis-0/+11
The goal here is to avoid writing to the `inherent_impls` map from within the general `Coherence` task, and instead write to it as we visit. Writing to it from the Coherence task is actually an information leak; it happened to be safe because Coherence read from `DepNode::Krate`, but that was very coarse. I removed the `Rc` here because, upon manual inspection, nobody clones the data in this table, and it meant that we can accumulate the data in place. That said, the pattern that is used for the inherent impls map is *generally* an anti-pattern (that is, holding the borrow lock for the duration of using the contents), so it'd probably be better to clone (and I doubt that would be expensive -- how many inherent impls does a typical type have?).
2016-08-08track MIR through the dep-graphNiko Matsakis-0/+10
Per the discussion on #34765, we make one `DepNode::Mir` variant and use it to represent both the MIR tracking map as well as passes that operate on MIR. We also track loads of cached MIR (which naturally comes from metadata). Note that the "HAIR" pass adds a read of TypeckItemBody because it uses a myriad of tables that are not individually tracked.
2016-04-06break dep-graph into modules, parameterize DepNodeNiko Matsakis-1/+2
it is useful later to customize how change the type we use for reference items away from DefId
2016-01-06Fix numerous typos, renamings, and minor nits raised by mw.Niko Matsakis-8/+8
2016-01-05Refactor compiler to make use of dep-tracking-maps. Also, in cases whereNiko Matsakis-0/+56
we were using interior mutability (RefCells, TyIvar), add some reads/writes.
2016-01-05Introduce the DepGraph and DepTracking map abstractions,Niko Matsakis-0/+81
along with a README explaining how they are to be used