Clean up some code related to QueryVTable::execute_query_fn#153120
Clean up some code related to QueryVTable::execute_query_fn#153120rust-bors[bot] merged 3 commits intorust-lang:mainfrom
QueryVTable::execute_query_fn#153120Conversation
All three of these functions were previously taking `cache` and `execute_query_fn` as separate arguments, but after some other recent simplifications we can just pass `&'tcx QueryVTable<'tcx, C>` instead. This makes it easier to see where `execute_query_fn` is actually called.
|
Looks fine, one nit. r=me after considering/addressing that. |
This function is tricky to document, and there's more that could be said here, but I don't want to take up too much vertical space, or add too much risk of details becoming inaccurate over time.
|
@bors r+ rollup |
Clean up some code related to `QueryVTable::execute_query_fn` This PR is an assortment of small cleanups to code that interacts with `execute_query_fn` in the query vtable. I also experimented with trying to replace the macro-generated `__rust_end_short_backtrace` functions with a single shared generic function, but I couldn't manage to avoid breaking short backtraces, so I left a note behind to document my attempt. r? nnethercote (or compiler)
…uwer Rollup of 7 pull requests Successful merges: - #153079 (Revert "Move aarch64-apple dist builder to dynamic llvm linking") - #152651 (Avoid duplicate `requirement` diag args in `RegionOriginNote`) - #152978 (Port `#[rustc_autodiff]` to the attribute parser infrastructure) - #153091 (Migration of `LintDiagnostic` - part 4) - #153112 (Query key cleanups) - #153118 (mailmap: add redddy) - #153120 (Clean up some code related to `QueryVTable::execute_query_fn`)
Rollup merge of #153120 - Zalathar:execute, r=nnethercote Clean up some code related to `QueryVTable::execute_query_fn` This PR is an assortment of small cleanups to code that interacts with `execute_query_fn` in the query vtable. I also experimented with trying to replace the macro-generated `__rust_end_short_backtrace` functions with a single shared generic function, but I couldn't manage to avoid breaking short backtraces, so I left a note behind to document my attempt. r? nnethercote (or compiler)
|
@rust-timer build 122a72d |
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (122a72d): comparison URL. Overall result: ✅ improvements - no action neededBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -9.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 3.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 480.132s -> 480.506s (0.08%) |
|
I'm surprised to see this have any perf effect. Maybe we're just perturbing LLVM's inlining heuristics? |
This PR is an assortment of small cleanups to code that interacts with
execute_query_fnin the query vtable.I also experimented with trying to replace the macro-generated
__rust_end_short_backtracefunctions with a single shared generic function, but I couldn't manage to avoid breaking short backtraces, so I left a note behind to document my attempt.r? nnethercote (or compiler)