| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2021-10-06 | Query the fingerprint style during key reconstruction | Mark Rousskov | -2/+2 | |
| Keys can be reconstructed from fingerprints that are not DefPathHash, but then we cannot extract a DefId from them. | ||||
| 2021-10-03 | Access StableHashingContext in rustc_query_system. | Camille GILLOT | -6/+5 | |
| 2021-09-11 | Auto merge of #78780 - cjgillot:req, r=Mark-Simulacrum | bors | -282/+189 | |
| Refactor query forcing The control flow in those functions was very complex, with several layers of continuations. I tried to simplify the implementation, while keeping essentially the same logic. Now, all code paths go through `try_execute_query` for the actual query execution. Communication with the `dep_graph` and the live caches are the only difference between query getting/ensuring/forcing. | ||||
| 2021-09-01 | Remove redundant `Span` in `QueryJobInfo` | Noah Lev | -11/+8 | |
| Previously, `QueryJobInfo` was composed of two parts: a `QueryInfo` and a `QueryJob`. However, both `QueryInfo` and `QueryJob` have a `span` field, which seem to be the same. So, the `span` was recorded twice. Now, `QueryJobInfo` is composed of a `QueryStackFrame` (the other field of `QueryInfo`) and a `QueryJob`. So, now, the `span` is only recorded once. | ||||
| 2021-08-27 | Note that trait aliases cannot be recursive | Noah Lev | -9/+16 | |
| 2021-08-27 | Note that type aliases cannot be recursive | Noah Lev | -1/+42 | |
| 2021-08-22 | Use variable. | Camille GILLOT | -12/+5 | |
| 2021-08-22 | Unify `with_task` functions. | Camille GILLOT | -17/+7 | |
| Remove with_eval_always_task. | ||||
| 2021-08-22 | Remove force_query_with_job. | Camille GILLOT | -88/+53 | |
| 2021-08-22 | Split try_execute_query. | Camille GILLOT | -16/+31 | |
| 2021-08-22 | Decouple JobOwner from cache. | Camille GILLOT | -73/+66 | |
| 2021-08-22 | Complete job outside of force_query_with_job. | Camille GILLOT | -14/+11 | |
| 2021-08-22 | Do not compute the dep_node twice. | Camille GILLOT | -33/+21 | |
| 2021-08-22 | Make all query forcing go through try_execute_query. | Camille GILLOT | -40/+31 | |
| try_execute_query is now able to centralize the path for query get/ensure/force. try_execute_query now takes the dep_node as a parameter, so it can accommodate `force`. This dep_node is an Option to avoid computing it in the `get` fast path. try_execute_query now returns both the result and the dep_node_index to allow the caller to handle the dep graph. The caller is responsible for marking the dependency. | ||||
| 2021-08-22 | Remove try_mark_green_and_read. | Camille GILLOT | -3/+6 | |
| 2021-08-22 | Move assertion inwards. | Camille GILLOT | -14/+0 | |
| `with_taks_impl` is only called from `with_eval_always_task` and `with_task` . The former is only used in query invocation, while the latter is also used to start the `tcx` and to trigger codegen. This move should not change significantly the number of calls to this assertion. | ||||
| 2021-08-22 | Simplify control flow. | Camille GILLOT | -33/+28 | |
| 2021-08-21 | Improve errors for recursive type aliases | Noah Lev | -4/+8 | |
| 2021-08-22 | Only clone key when needed. | Camille GILLOT | -4/+6 | |
| 2021-08-22 | Move dep_graph checking into try_load_from_disk_and_cache_in_memory. | Camille GILLOT | -23/+12 | |
| 2021-08-12 | Prevent double panic when handling incremental fingerprint mismatch | Aaron Hill | -6/+27 | |
| When an incremental fingerprint mismatch occurs, we debug-print our `DepNode` and query result. Unfortunately, the debug printing process may cause us to run additional queries, which can result in a re-entrant fingerprint mismatch error. To avoid a double panic, this commit adds a thread-local variable to detect re-entrant calls. | ||||
| 2021-08-01 | Auto merge of #87449 - matthiaskrgr:clippyy_v2, r=nagisa | bors | -2/+2 | |
| more clippy::complexity fixes (also a couple of clippy::perf fixes) | ||||
| 2021-07-25 | Restrict field visibility | Aaron Hill | -1/+1 | |
| 2021-07-25 | Create `QuerySideEffects` and use it for diagnostics | Aaron Hill | -10/+39 | |
| 2021-07-25 | clippy::useless_format | Matthias Krüger | -2/+2 | |
| 2021-05-30 | Reduce amount of function pointers. | Camille GILLOT | -35/+53 | |
| 2021-05-29 | Move reconstruct test inwards. | Camille GILLOT | -5/+4 | |
| 2021-05-15 | Remove def_path_str. | Camille GILLOT | -4/+0 | |
| 2021-05-15 | Make the fast path faster. | Camille GILLOT | -13/+14 | |
| 2021-05-15 | Move key recovering into force_query. | Camille GILLOT | -16/+37 | |
| 2021-05-10 | Show nicer error when an 'unstable fingerprints' error occurs | Aaron Hill | -7/+13 | |
| 2021-05-06 | Auto merge of #84806 - Mark-Simulacrum:try-start-entry, r=cjgillot | bors | -101/+111 | |
| Streamline try_start code This shifts some branches around and avoids interleaving parallel and non-parallel versions of the function too much. | ||||
| 2021-05-02 | Streamline try_start code | Mark Rousskov | -101/+111 | |
| This shifts some branches around and avoids interleaving parallel and non-parallel versions of the function too much. | ||||
| 2021-05-01 | Avoid generating QueryMap::extend for each key type | Mark Rousskov | -8/+5 | |
| 2021-04-29 | Move iter_results to dyn FnMut rather than a generic | Mark Rousskov | -21/+20 | |
| This means that we're no longer generating the iteration/locking code for each invocation site of iter_results, rather just once per query. This is a 15% win in instruction counts when compiling the rustc_query_impl crate. | ||||
| 2021-03-30 | Adjust profiling. | Camille GILLOT | -3/+5 | |
| 2021-03-30 | Stream the dep-graph to a file. | Camille GILLOT | -7/+11 | |
| 2021-03-26 | Use iter::zip in compiler/ | Josh Stone | -2/+2 | |
| 2021-03-19 | Debug-print result when an unstable fingerprint is detected | Aaron Hill | -1/+1 | |
| 2021-03-13 | Auto merge of #83007 - Aaron1011:incr-verify-default, r=Mark-Simulacrum | bors | -11/+18 | |
| Turn `-Z incremental-verify-ich` on by default Issue #82920 showed that the kind of bugs caught by this flag have soundness implications. | ||||
| 2021-03-13 | Always run `incremental_verify_ich` when re-computing query results | Aaron Hill | -11/+18 | |
| Issue #82920 showed that the kind of bugs caught by this flag have soundness implications. This causes performance regressions of up to 15.2% during incremental compilation, but this is necessary to catch miscompilations caused by bugs in query implementations. | ||||
| 2021-03-12 | rustc_query_system: simplify QueryCache::iter | Tyson Nottingham | -22/+17 | |
| Minor cleanup to reduce a small amount of complexity and code bloat. Reduces the number of mono items in rustc_query_impl by 15%. | ||||
| 2021-02-21 | Simplify hashing. | Camille GILLOT | -33/+24 | |
| 2021-02-20 | Move print_query_stack to rustc_query_system. | Camille GILLOT | -5/+43 | |
| 2021-02-20 | Move report_cycle to rustc_query_system. | Camille GILLOT | -7/+47 | |
| The call to `ty::print::with_forced_impl_filename_line` is done when constructing the description, at the construction of the QueryStackFrame. | ||||
| 2021-02-20 | Move Query to rustc_query_system. | Camille GILLOT | -95/+124 | |
| Rename it to QueryStackFrame and document a bit. | ||||
| 2021-02-20 | Do not hold query key in Query. | Camille GILLOT | -4/+7 | |
| 2021-02-20 | Access the session directly from DepContext. | Camille GILLOT | -10/+1 | |
| 2021-02-19 | Use a QueryContext for try_mark_green. | Camille GILLOT | -12/+31 | |
| 2021-02-19 | Move try_load_from_on_disk_cache to the QueryContext. | Camille GILLOT | -1/+4 | |
